커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
6180
글번호 230811
지표
답변완료

매수매도수식부탁드립니다

안녕하세요 아래 고저점파동식으로 매수매도수식부탁드립니다 1. 매수신호 그림1에서 1번 출발 후 2번저점 형성 후 1번의 전 고점보다 높은 3번고점 형성 후 다음 저점에서 매수신호 발생 2.매도신호 그림2에서 1번 출발 후 2번고점 형성 후 1번의 전 저점보다 낮은 3번저점 형성 후 다음 고점에서 매도신호 발생 3. 그리고 그림3에서처럼 종가가 전고점(A점)돌파할때 수식이 if crossup(C,최종고가[2]) 가 맞는지 조언부탁드립니다 Input:length(4),종가사용여부(0),파동선두께(5),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL2 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); TL_SetSize(TL2,파동선두께); TL_SetColor(TL2,red); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); TL_SetEnd(TL2,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL2 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); TL_SetSize(TL2,파동선두께); TL_SetColor(TL2,blue); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } 감사합니다
프로필 이미지
bestkim
2018-02-12
299
글번호 116515
시스템

렉쳐 님에 의해서 삭제되었습니다.

프로필 이미지
렉쳐
2018-02-10
0
글번호 116514
지표
답변완료

문의드립니다..(RSI)

매수진입 : RSI 지수가 70을 크로스업 통과할때 매수 진입 진입청산 : 청산1조건. RSI의 값이 70통과 후에 최고점을 만든후 하락하다가 재상승하고나서(이때 바로 앞 이전봉을 저점으로 인식) 직전 최고점을 돌파하면 다음으로 넘어가는데, 만약 직전 최고점을 돌파하지 못하고 하락해서 직전 저점을 하향 돌파하는 때에 청산. 또는 청산 2건. RSI지수가 70을 크로스다운 통과할 때 청산 매도 진입 : RSI 지수가 30을 크로스다운 통과할때 매도 진입 진입청산 : 청산1조건. RSI의 값이 30하향 통과후에 최저점을 만든후 상승하다가 재하락해서(이때 바로 앞 이전봉을 고점으로 기억) 직전 최저점을 돌파하면 다음으로 넘어가는데, 만약 직전 최저점을 돌파하지 못하고 상승해서 직전 고점을 상향 돌파하는 때에 청산. 또는 청산2조건. RSI지수가 30을 크로스업 통과할때 청산
프로필 이미지
머니사이언스
2018-02-11
192
글번호 116513
시스템
답변완료

질문있습니다.

문법이 궁금해서 질문드립니다. data2 나 data1 을 묶어줄때요 수식에서 예를들어 c , h, l ,o dayhigh 등의 문자가 포함되어있을때만 data1( 이나 data2 이런식으로 묶어주고 var : i(0,data2) ; 와같이 사용자가 지정하는 변수만 으로 수식이 이루어진경우는 data1 을 포함안해도되는지 궁금합니다 아니면 무조건 모든 수식마다 다 포함 해줘야하는지궁금합니다. 실제 저는 바이 명령어가 Buy("b_41",atlimit,p[3],ms7((msPrice+priceM)*mt_buyfactor,buycnt,p[3])); 와 같이 이루어져있는데요 여기서 p[ ] 은 data2 값으로 계산된 값이 저정되고(하지만 data2 의 c h l o 로 계산된 값 ) mt_buyfactor 은 data2 값으로 계산된 값 (data2의 c h l o 를 이용하여 계산해서 저장되는 값) buycnt 은 data1 의 값이지만 (data1 의 c h l o 로 계산된 값이 아닌 매수 횟수에 의한 값) 입니다 이럴때는 Buy("b_41",atlimit,p[3],ms7((msPrice+priceM)*mt_buyfactor,buycnt,p[3])); 식을 어떻게 표현해줘야하나요 ? data1 , data2 로 어떻게 묶어줘야하나요 아님 안묶어도되나요? 궁금합니다 감사합니다
프로필 이미지
여유로운투자
2018-02-10
166
글번호 116512
사용자 함수
답변완료

이평

맨끝에 있는 이평을 상승시 빨강 하락시 파랑으로 표현 부탁드립니다. Input:n(60); Var:j(0),고가기울기(0),고가절편(0),고가예상치(0),고가표준오차(0), 저가기울기(0),저가절편(0),저가예상치(0),저가표준오차(0),trend(0), sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0); if bDate[1] < bDate then { sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + DayOpen(j)*DayHigh(j); sumOL = sumOL + DayOpen(j)*DayLow(j); sumO = sumO + DayOpen(j); sumH = sumH + DayHigh(j); sumL = sumL + DayLow(j); sumO² = sumO² + DayOpen(j)^2; sumH² = sumH² + DayHigh(j)^2; sumL² = sumL² + DayLow(j)^2; } #==========================================================================# # 선형회귀방정식 # #==========================================================================# # nΣxy - (Σx)(Σy) # # 기울기 a = --------------------- # # nΣx²- (Σx)² # # # # = (n*sum(xy) - sum(x)*sum(y)) / (n*sum(x^2) - sum(x)^2) # # # # (Σy)(Σx²)-(Σx)(Σxy) # # 절편 b = --------------------------- # # nΣx²- (Σx)² # # # # = (sum(y)*sum(x^2) - sum(x)*sum(xy)) / (n*sum(x^2) - sum(x)^2) # #==========================================================================# 고가기울기 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2); 고가절편 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2); 저가기울기 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2); 저가절편 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2); 고가예상치 = 고가기울기 * DayOpen() + 고가절편; 저가예상치 = 저가기울기 * DayOpen() + 저가절편; #==========================================================================# # 표준오차 공식 # #==========================================================================# # _______________________________________________________ # # / 1 [nΣxy - (Σx)(Σy)]² # # Sxy = / [ ------- ][nΣy²- (Σy)²- ----------------------- ] # # √ n(n-2) nΣx²- (Σx)² # # # # = sqrt((1/(n*(n-2))) * (n*sum(y^2) - sum(y)^2 - # # ((n*sum(x*y) - sum(x)*sum(y))^2 / (n*sum(x^2) - sum(x)^2)))) # #==========================================================================# 고가표준오차 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 - ((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2)))); 저가표준오차 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 - ((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2)))); } var1 = ema(h,20); var2= ema(l,20); var7=var1+(var1-ema(var1,20)); var8=var2+(var2-ema(var2,20)); if var7[2] > var7[1] and var7[1] < var7 then trend=1; if var7[2] < var7[1] and var7[1] > var7 then trend=0; plot2(round(고가예상치 + 0.5 * 고가표준오차,1),"2차 저항선"); plot3(round(고가예상치 - 0.5 * 고가표준오차,1),"1차 저항선"); plot6(round(저가예상치 + 0.5 * 저가표준오차,1),"1차 지지선"); plot7(round(저가예상치 - 0.5 * 저가표준오차,1),"2차 지지선"); plot8(dayopen,"시가"); Plot13(var7,"이평",iff(trend == 1,RED, rgb(0,84,225))); Plot14(var8,"이평",iff(trend == 1,RED, rgb(0,84,225)));
프로필 이미지
야크
2018-02-10
214
글번호 116511
지표
답변완료

CME차트에서 주간장 Pivot 라인 그리는 지표

CME차트에서 주간장의 Pivot 라인 그리는 지표 부탁드립니다. 제가 해보려고했는데 잘 안됩니다.. TT 부탁드려요. 감사합니다.
프로필 이미지
퀀텀프로
2018-02-10
187
글번호 116509
지표
답변완료

문의합니다.

문의합니다. 시물레이션시 그림과 같이 진입 후 수익이 났습니다. 캔들을 보면 시가 종가 고가 저가 4개에 대해서만 확실히 알수 있고 형성되는 과정을 알수가 없습니다. 수익 처리가 되었을때 그림의 1번,2번 처럼 캔들 형성 순서가 다를수 있는데.. 1번처럼 형성시 수익 2번처럼 형성시 손절 60분봉 이상에서도 신뢰해도 되는지 알고 싶습니다. 세번째 사진을 보면 시간이 정시 기준입니다.(60분봉) 이유와 실거래시 어떤 문제가 생길수 있는지 알고 싶습니다.
프로필 이미지
우와우와
2018-02-11
213
글번호 116508
시스템
답변완료

문의드립니다..^^

여러모로 도움을 많이 받고 있어 항상 감사한 마음을 가지고 있습니다..^^ 문의 드릴 내용은...... 1. 현재봉 포함하여 30봉이내에 최고값과 최저값에 가로라인(점선)을 차트에 긋고 싶습니다. 2. 현재봉 포함하여 이전 60봉에 세로라인(점선)을 긋고 싶습니다. 3. 해당월물(선물)의 태동부터 각 주체간 누적순매수를 표현하고 싶습니다. 가령, 201803월 선 물인 경우 처음 상장된 시점부터 각 외인,기관,개인 누적순매수를 지표로 나타냈으면 합니다. 감사합니다..
프로필 이미지
금여록
2018-02-10
195
글번호 116507
지표
답변완료

수식문의

수고하십니다 이앞전봉이 20틱이상 변동만있을경우에 이전봉 고점을 5틱 넘으면 매수 이전봉의 저점을5틱깨면 매도 하는식 부탁합니다
프로필 이미지
백진강
2018-02-11
195
글번호 116506
시스템