커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다.

수식 추가 부탁드립니다. 매수 진입 후 종가가 200선대비 n(50)틱이상 크게되는 ●(빨간색)이 나타나기 전에 200선 상향돌파 되는 ■(빨간색)이 3번(A번)이상 나타나면 매수포지션 청산 매도(반대) 종가가 200선대비 n(50)틱이상 작게되는 ●(파란색)이 나타나기 전에 200선 하향돌파 되는 ■(파란색)이 3번(A번)이상 나타나면 매도포지션 청산 input : n(50); var : t(0),t1(0),tx(0),tl(0); var1 = ma(c,20); var2 = ma(C,200); #200선 상향돌파 if Crossup(C,var2) Then { #t는 1 t = 1; #이전구간(하향이탈구간) t값은 t1에 저장 t1 = t[1]; #■출력 tx = Text_New(sdate,stime,H+PriceScale,"■"); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); #매수주문을 구간에 한번하기 위한 변수 Condition1 = false; } #200선 하향이탈 if CrossDown(C,var2) Then { #t는 -1 t = -1; #이전구간(상향돌파구간) t값은 t1에 저장 t1 = t[1]; #■출력 tx = Text_New(sdate,stime,L-PriceScale,"■"); Text_SetStyle(tx,2,2); Text_SetColor(tx,BLUE); #매도주문을 구간에 한번하기 위한 변수 Condition2 = false; } #t가 1일때 종가가 200선대비 n틱이상 크게되면 if t == 1 and c > var2+PriceScale*n Then { #t는 2로 변경 t = 2; #●출력 tx = Text_New(sdate,stime,H+PriceScale,"●"+NumToStr(C,2)); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); } #t가 -1일때 종가가 200선대비 n틱이상 작게되면 if t == -1 and c < var2-PriceScale*n Then{ #t는 -2로 변경 t = -2; #●출력 tx = Text_New(sdate,stime,L-PriceScale,"●"+NumToStr(C,2)); Text_SetStyle(tx,2,2); Text_SetColor(tx,BLUE); } # 200선 상향돌파하고 직전구간(하향이탈구간) t가 -2까지 기록했으면 if crossup(t,0) and t1 <= -2 Then { #★출력 tx = Text_New(sdate,stime,H+PriceScale*3,"★"); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); } # 200선 하향이탈하고 직전구간(상향돌파구간) t가 2까지 기록했으면 if CrossDown(t,0) and t1 >= 2 Then { #★출력 tx = Text_New(sdate,stime,L-PriceScale*3,"★"); Text_SetStyle(tx,2,2); Text_SetColor(tx,BLUE); } #200선 상향돌파한 구간이고 #직전 햐향이탈한 구간은 t는 -2까지 기록했고 #현재10선이 200선보다 크면 매수 if Condition1 == false and t > 0 and t1 <= -2 and var1 > var2 Then{ Condition1 = true; buy(); } #200선 하향이탈한 구간이고 #직전구간(상향돌파구간)애서 t는 2까지 기록했고 #현재10선이 200선보다 작으면 매도 if Condition2 == false and t < 0 and t1 >= 2 and var1 < var2 Then{ Condition2 = true; sell(); }
프로필 이미지
라떼처럼
2018-05-15
240
글번호 118901
시스템
답변완료

수식 추가

아래는 선물에 사용하는 buy 수식입니다. 손절,익절,trailing stop이 시스템설정창에 있지만 시뮬레이션을 위해 수식을 input에 추가하고 싶습니다. "손절,익절,최대수익대비하락은 설정기준이 %인지 pt인지 틱인지에 따라 수식이 다릅니다" 위와 같은 이유가 있으므로, 아래 수식에 대해 설정기준을 pt와 틱 2가지로 구분하여 손절,익절,trailing stop 수식을 input에 추가하여 주시기 바랍니다. ******************************************************************************** input : 진입시간(100000),진입제한시간(120000),트레이드종료시간(150000); Inputs: DMILen(14), Consec(3), MinDiff(0); Var : DMIDiff(0); var : Tcond(false); if (sdate != sdate[1] and stime >= 진입시간) or (sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then Tcond = true; if (sdate != sdate[1] and stime >= 진입제한시간) or (sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then Tcond = false; if (sdate != sdate[1] and stime >= 트레이드종료시간) or (sdate == sdate[1] and stime >= 트레이드종료시간 and stime[1] < 트레이드종료시간) Then exitlong(); DMIDiff = DIPlus(DMILen) - DIMinus(DMILen); If DMIDiff[Consec] > 0 and Tcond == true Then Begin If DMIDiff >= MinDiff AND CountIF(DMIDiff > DMIDiff[1], Consec) == Consec Then Buy ("DMI"); End;
프로필 이미지
목마와숙녀
2018-05-15
257
글번호 118900
시스템
답변완료

안녕하세요.

안녕하세요... 수고 많으십니다........ 아래 수식에서 ...... 그림과 같이 10단위로 틱수를 넣어 주셨으면 합니다. 시스템식으로 안되면 지표식으로도 부탁드립니다. 감사합니다.... 수고 하세요.... Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0); var : mav(0); 전환선 = (Highest(c, 1) + Lowest(c, 1)) / 2; 기준선 = (Highest(c, 26) + Lowest(c, 26)) / 2; 선행스팬1 = (전환선[25] + 기준선[25]) / 2 ; 선행스팬2 = (Highest(c, 52)[25] + Lowest(c, 52)[25]) / 2; mav = ma(C,5); if crossup(mav,선행스팬1) Then buy(); if CrossDown(mav,선행스팬1) Then sell();
프로필 이미지
탐라
2018-05-15
276
글번호 118899
시스템
답변완료

부탁드립니다.

- 1분챠트에서 종가가 60일 이동평균선을 넘고, 동시에 5분챠트에서 종가가 40일 이동평균선을 넘을 때 매수하고, 그 반대이면 매도하라는 시스템식을 부탁드립니다. 고맙습니다.
프로필 이미지
서태공
2018-05-14
236
글번호 118898
시스템
답변완료

이격도부탁합니다

안녕하세요 관리자님 예전에 만들어주신 아래의 선에 대한 이격도를 만들고 싶습니다 -아래- if Bdate != Bdate[1] Then{ var1 = 0; var2 = 0; var3 = 0; var4 = 0; var11 = var1[1]; var21 = var2[1]; var31 = var3[1]; var41 = var4[1]; } var1 = var1+(H-dayopen); var2 = var2+(C-dayopen); var3 = var3+(L-dayopen); var4 = var4+1; if var41 > 0 then{ plot1((var11/var41)+dayopen,"고가"); plot2((var21/var41)+dayopen,"종가"); plot3((var31/var41)+dayopen,"저가"); }
프로필 이미지
카카
2018-05-14
243
글번호 118897
지표
답변완료

부탁 드립니다.

도움주심에 감사 드립니다. 1)57780 재질문 부탁 드립니다. 2)data2를 활용한 타주기 지표식 부탁 드립니다. Input : Period(2),histo_sig(3); var:곱배수(1); value1 = (3 * Ema(c,Period*1*곱배수)) - (3 * Ema(Ema(c,Period*1*곱배수),Period*1*곱배수)) + (Ema(Ema(Ema(c,Period*1*곱배수),Period*1*곱배수),Period*1*곱배수)); value2 = (3 * Ema(c,Period*2*곱배수)) - (3 * Ema(Ema(c,Period*2*곱배수),Period*2*곱배수)) + (Ema(Ema(Ema(c,Period*2*곱배수),Period*2*곱배수),Period*2*곱배수)); value21 = (3 * Ema(c,Period*21*곱배수)) - (3 * Ema(Ema(c,Period*21*곱배수),Period*21*곱배수)) + (Ema(Ema(Ema(c,Period*21*곱배수),Period*21*곱배수),Period*21*곱배수)); value22 = (3 * Ema(c,Period*22*곱배수)) - (3 * Ema(Ema(c,Period*22*곱배수),Period*22*곱배수)) + (Ema(Ema(Ema(c,Period*22*곱배수),Period*22*곱배수),Period*22*곱배수)); var52=(value1+value2)/2; var53=(value1+value2+value3)/3; var62= (value22+value21)/2; var63= (value21+value20+value22)/3; var92=ema((var52-var62),histo_sig); var93=ema((var53-var63),histo_sig); var99=(var92+var93)/2; plot1(var99,"지표"); PlotBaseLine1(0,"0"); 미리 감사 드립니다.
프로필 이미지
yes
2018-05-15
239
글번호 118896
지표
답변완료

시스템 수식 부탁 드립니다.

하루에 한번만 매매하고. 9시부터 9시 20까지의 고점을 돌파하면 매수. 저점을 하락 돌파하면 매도. 1포인트 익절. 3시 청산. 감사합니다.
프로필 이미지
그리움
2018-05-14
228
글번호 118895
시스템
답변완료

문의드립니다.

수고 많으십니다. 현재 쓰고 있는 수식은 하기와 같습니다. Input : shortPeriod(8); Var : value1(0), value2(0), value3(0), value4(0); value1 = highest(H[25],26)+lowest(L[25],26); value2 = highest(H[25],26)+lowest(L[25],26); value3 = highest(H[25],82)+lowest(L[25],82); value4 = ma(C, shortPeriod); If CrossUp(Value4, max(value3)/2) Then buy(); If CrossDown(Value4, min(value3)/2) Then sell(); 여기에 매수는 위와 동일한 조건으로 매수를 하고 청산은 8일 이평선이 20일 이평선 하향 돌파 시 청산 매도도 위와 동일한 조건으로 매도를 하고 청산은 8일 이평선이 20일 이평선 상향 돌파 시 청산 으로 하고 싶은데 혹시 가능할까요??
프로필 이미지
이인
2018-05-14
236
글번호 118894
시스템
답변완료

직전 buy 포지션의 position profit

안녕하세요, 해외선물에서 거래 하고 있습니다. 직전에 거래된 buy 포지션의 positionprofit 을 불러오고자 하면 어떻게 해야할까요? 반대로 직전에 거래된 sell 포지션의 positionprofit 역시 불러오고 싶습니다. 감사합니다.
프로필 이미지
라면의비밀
2018-05-14
255
글번호 118882
시스템