커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

날짜가 변경되는 상황에서의 마지막 봉마감후 신호발생>거래안됨

4월 30일 새벽 6시에 4시간 봉에서 청산신호가 발생하였습니다.그렇지만 장마감으로 청산 거래는 이뤄지지 않았습니다.강제청산에서 "조건만족시 즉시/ 봉 완성시" 나 부가기능에 "진입주문지연" 설정은 가능한 것으로 보입니다.혹시 반대로 "봉 완성 전 10초 전" 신호 발생 및 진입주문 하는 방법이 있나요?
프로필 이미지
jhs0713
2026-04-30
442
글번호 231838
시스템
답변완료

부탁드립니다

input : P1(10),P2(60);var : mav1(0),s1(0),d1(0),t1(0),h1(0),l1(0),box1(0);var : mav2(0),s2(0),d2(0),t2(0),h2(0),l2(0),box2(0);var : count1(0),count2(0);mav1 = ma(C,P1);mav2 = ma(C,P2);if mav1 > mav1[1] Thens1 = 1;if mav1 < mav1[1] Thens1 = -1;if mav2 > mav2[1] Thens2 = 1;if mav2 < mav2[1] Thens2 = -1;if s2 == 1 Then{if s2 != s2[1] Then{d2 = sDate;t2 = sTime;h2 = h;l2 = l;box2 = Box_New(sDate,sTime,h2,NextBarSdate,NextBarStime,l2);Box_SetColor(box2,Red);count1 = 0;}Else{if h > h2 Thenh2 = h;if l < l2 Thenl2 = l;Box_SetBegin(box2,d2,t2,h2);Box_SetEnd(box2,NextBarSdate,NextBarStime,l2);}}if s2 == -1 Then{if s2 != s2[1] Then{d2 = sDate;t2 = sTime;h2 = h;l2 = l;box2 = Box_New(sDate,sTime,h2,NextBarSdate,NextBarStime,l2);Box_SetColor(box2,Blue);count2 = 0;}Else{if h > h2 Thenh2 = h;if l < l2 Thenl2 = l;Box_SetBegin(box2,d2,t2,h2);Box_SetEnd(box2,NextBarSdate,NextBarStime,l2);}}if s1 == 1 Then{if s1 != s1[1] Then{d1 = sDate;t1 = sTime;h1 = h;l1 = l;box1 = Box_New(sDate,sTime,h1,NextBarSdate,NextBarStime,l1);Box_SetColor(box1,Magenta);count1 = count1+1;if S2 == 1 and count1 == 1 Then{Buy("B");Box_SetFill(box1,true);}}Else{if h > h1 Thenh1 = h;if l < l1 Thenl1 = l;Box_SetBegin(box1,d1,t1,h1);Box_SetEnd(box1,NextBarSdate,NextBarStime,l1);}}if s1 == -1 Then{if s1 != s1[1] Then{d1 = sDate;t1 = sTime;h1 = h;l1 = l;box1 = Box_New(sDate,sTime,h1,NextBarSdate,NextBarStime,l1);Box_SetColor(box1,Cyan);count2 = count2+1;if S2 == -1 and count2 == 1 Then{Sell("S");Box_SetFill(box1,true);}}Else{if h > h1 Thenh1 = h;if l < l1 Thenl1 = l;Box_SetBegin(box1,d1,t1,h1);Box_SetEnd(box1,NextBarSdate,NextBarStime,l1);}}위의 수식에 큰박스 고저라인좀 부탁드립니다
프로필 이미지
채존비록
2026-04-30
471
글번호 231837
시스템
답변완료

피보나치 박스

TL5(var5)와 TL8(var8) 사이에 박스. 감사합니다.input : 저점1(888),저점2(880),시작시간(90000);var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0),TL9(0),TL10(0);var : Tcond(False),HH(0),LL(0),d1(0),t1(0),tx(0);if Bdate != Bdate[1] Then{ Tcond = False;}if (sdate != sDate[1] and sTime >= 시작시간) or (sdate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then{ Tcond = true; d1 = sDate; t1 = sTime; HH = H; LL = L; tx = Text_New(sDate,sTime,LL,NumToStr(HH-LL,2)+" "); Text_SetStyle(tx,1,0); Text_SetSize(tx,25); Text_SetBold(tx,1); }if (sdate != sDate[1] and Time >= 153500) or (sdate == sDate[1] and Time >= 153500 and Time[1] < 153500) Then{ Tcond = False;}if tcond == true Then{ if H > HH Then { HH = H; Text_SetString(tx,NumToStr(HH-LL,2)+" "); } if L < LL Then { LL = L; Text_SetString(tx,NumToStr(HH-LL,2)+" "); Text_SetLocation(tx,sDate,sTime,LL); } var1 = HH; Var2 = 저점1; Var3 = 저점1-(HH-저점1)*0.587; Var4 = 저점1-(HH-저점1)*0.95; Var5 = 저점1-(HH-저점1)*1.537; Var6 = 저점2; Var7 = 저점2-(HH-저점2)*0.587; Var8 = 저점2-(HH-저점2)*0.95; Var9 = 저점2-(HH-저점2)*1.537; var10 = HH-28; if tcond == true and tcond != tcond[1] Then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7); TL_Delete(TL8); TL_Delete(TL9); TL_Delete(TL10); TL1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(sDate,sTime,var5,NextBarSdate,NextBarStime,var5); TL6 = TL_New(sDate,sTime,var6,NextBarSdate,NextBarStime,var6); TL7 = TL_New(sDate,sTime,var7,NextBarSdate,NextBarStime,var7); TL8 = TL_New(sDate,sTime,var8,NextBarSdate,NextBarStime,var8); TL9 = TL_New(sDate,sTime,var9,NextBarSdate,NextBarStime,var9); TL10 = TL_New(sDate,sTime,var10,NextBarSdate,NextBarStime,var10); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); TL_SetExtRight(TL7,true); TL_SetExtRight(TL8,true); TL_SetExtRight(TL9,true); TL_SetExtRight(TL10,true); TL_SetColor(TL1,Red); TL_SetColor(TL2,Gold); TL_SetColor(TL3,Magenta); TL_SetColor(TL4,Red); TL_SetColor(TL5,Red); TL_SetColor(TL6,Gold); TL_SetColor(TL7,Green); TL_SetColor(TL8,Blue); TL_SetColor(TL9,Blue); TL_SetColor(TL10,Gold); TL_SetSize(TL2,1); TL_SetSize(TL5,1); TL_SetSize(TL6,1); TL_SetSize(TL9,1); TL_SetSize(TL10,2); } Else { TL_SetBegin(TL1,d1,t1,var1); TL_SetBegin(TL2,d1,t1,var2); TL_SetBegin(TL3,d1,t1,var3); TL_SetBegin(TL4,d1,t1,var4); TL_SetBegin(TL5,d1,t1,var5); TL_SetBegin(TL6,d1,t1,var6); TL_SetBegin(TL7,d1,t1,var7); TL_SetBegin(TL8,d1,t1,var8); TL_SetBegin(TL9,d1,t1,var9); TL_SetBegin(TL10,d1,t1,var10); TL_SetEnd(TL1,NextBarSdate,NextBarStime,var1); TL_SetEnd(TL2,NextBarSdate,NextBarStime,var2); TL_SetEnd(TL3,NextBarSdate,NextBarStime,var3); TL_SetEnd(TL4,NextBarSdate,NextBarStime,var4); TL_SetEnd(TL5,NextBarSdate,NextBarStime,var5); TL_SetEnd(TL6,NextBarSdate,NextBarStime,var6); TL_SetEnd(TL7,NextBarSdate,NextBarStime,var7); TL_SetEnd(TL8,NextBarSdate,NextBarStime,var8); TL_SetEnd(TL9,NextBarSdate,NextBarStime,var9); TL_SetEnd(TL10,NextBarSdate,NextBarStime,var10); }}if Bdate != Bdate[1] Then{ Condition1 = False; Condition2 = False; Condition3 = False; Condition4 = False; Condition5 = False; Condition6 = False; Condition7 = False;}if Tcond == true Then{ if MarketPosition == 1 Then { if IsEntryName("b1") == true Then Condition1 = true; if IsEntryName("b2") == true Then Condition2 = true; if IsEntryName("b4") == true Then Condition4 = true; if IsEntryName("b5") == true Then Condition5 = true; } if Condition1 == False and L > var3 Then Buy("b1",Atlimit,var3); if Condition2 == False and L > var4 Then Buy("b2",Atlimit,var4); if Condition4 == False and L > var7 Then Buy("b4",Atlimit,var7); if Condition5 == False and L > var8 Then Buy("b5",Atlimit,var8); if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); if MarketPosition == -1 Then { if IsEntryName("b3") == true Then Condition3 = true; if IsEntryName("b6") == true Then Condition6 = true; if IsEntryName("b7") == true Then Condition7 = true; } if Condition3 == False and L > var5 Then Sell("b3",AtStop,var5); if Condition6 == False and L > var9 Then Sell("b6",AtStop,var9); if Condition7 == False and L > var10 Then Sell("b7",AtStop,var10); if MarketPosition == -1 and BarsSinceEntry == 1 Then ExitShort(); }
프로필 이미지
고성
2026-04-30
550
글번호 231836
시스템
답변완료

종목 검색식 부탁드립니다.

1. "60이평이 상승 중일때 모든종목" 검색식 부탁드려요.2. MACD가 시그널선을 골든크로스 할때 종목 검색식 부탁드려요. ( 단, 0선위에서 골든크로스)3. RSI(14)가 시그널(9) 을 "돌파할때부터(골든) 데드크로스 발생 전"까지 종목 검색식 부탁드려요4. MACD 가 시그널(9) 을 "돌파할때부터(골든) 데드크로스 발생 전"까지 종목 검색식 부탁드려요5. 스토캐스틱 슬로우가 시그널(9) 을 "돌파할때부터(골든) 데드크로스 발생 전"까지 종목 검색식 부탁드려요
프로필 이미지
일지매7
2026-04-30
265
글번호 231835
종목검색
답변완료

수식작성 부탁 드립니다

data2 Thresh< Slope 일때 data1 조건 만족시 매수 진입 되도록 수식작성 부탁 드립니다.# Data1 Input : shortPeriod(5), longPeriod(20); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); If CrossUP(value1, value2) Then Buy();If CrossDown(value1, value2) Then sell();# Data2 input : n(60),Period(60),Thresh(0.02);var : stm(0),d1(0),etm(0),ss(0),et(0),ets(0),ts(0),second(0),tf(0);var : i(0),Hma(0);var : CWSum1(0),WSum1(0),WMAV1(0);var : CWSum2(0),WSum2(0),WMAV2(0);var : CWSum(0),WSum(0),Slope(0);Array : CC[100](0),value[100](0);if Bdate != Bdate[1] Then{ stm = TimeToMinutes(stime); D1 = Bdate;}if D1 > 0 then{ if date == D1 Then eTM = TimeToMinutes(time)-stm; Else eTM = TimeToMinutes(time)+1440-stm; ets = FracPortion(time/100)*100; Second = (etm*60)+ets; TF = second%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { For i = 99 DownTo 1 { CC[i] = CC[i-1]; value[i] = value[i-1]; } } CC[0] = C;}if CC[int(Period/2)-1] > 0 Then{ CWSum1 = 0; WSum1 = 0; For i = 0 To int(Period/2) - 1 { CWSum1 = CWSum1 + CC[i] * (int(Period/2) - i); WSum1 = WSum1 + (int(Period/2) - i); } WMAV1 = CWSum1/WSum1;}if CC[Period-1] > 0 Then{ CWSum2 = 0; WSum2 = 0; For i = 0 To Period - 1 { CWSum2 = CWSum2 + CC[i] * (Period - i); WSum2 = WSum2 + (Period - i); } WMAV2 = CWSum2/WSum2;}if WMAV1 > 0 and WMAV2 > 0 Then value[0] = 2*WMAV1-WMAV2;if value[int(sqrt(Period))-1] > 0 Then{ CWSum = 0; WSum = 0; For i = 0 To int(sqrt(Period)) - 1 { CWSum = CWSum + value[i] * (int(sqrt(Period)) - i); WSum = WSum + (int(sqrt(Period)) - i); } Hma = CWSum/WSum;if HMA[1] > 0 Then Slope = (HMA - HMA[1]) / HMA[1] * 100;}
프로필 이미지
뎅이요
2026-04-29
508
글번호 231833
시스템
답변완료

수식 문의

안녕하세요?Print("C:\문자Test\1\abc.txt","%s", EventTxt + "|D2=" + NumToStr(Data2, 6) + "|D3=" + NumToStr(Data3, 6) + "|D4=" + NumToStr(Data4, 6) + "|D5=" + NumToStr(Data5, 6) + "|D6=" + NumToStr(Data6, 6) + "|D7=" + NumToStr(Data7, 6) );요렇게 썼더니 잘못된 토큰, Comma 올 수 있는 것...이라는 오류가 뜹니다.5분봉 차트에 적용할 것인데요,Data2 ~ Data7의 값을 매 봉이 끝날 때마다 메모장으로 전송하려고 합니다.아얘 주차트 포함해서 Data1 ~ Data7의 종가를 메모장으로 전송하게 해 주시기 바랍니다.참, 어떤 참조데이터는 8시45분부터 나오고, 어떤 거는 09시부터 나오던데, 이 부분도 별 문제 안생기도록 부탁드립니다.이거 지표식으로 하는거 맞는거죠?감사합니다.
프로필 이미지
에구머니
2026-04-29
633
글번호 231832
지표
답변완료

지표로 전환부탁합니다...

아래수식은 예스 검색입니다..이것을 지표로 변환 부탁드립니다...var : BB(0),EV(0);BB=BollBandUp(20,2);EV=EnvelopeUp(20,3);if crossup(BB,EV) and C>BB and C>EV ThenPlot1(H,"검색");
프로필 이미지
서민순
2026-04-29
285
글번호 231831
지표

남산 님에 의해서 삭제되었습니다.

프로필 이미지
남산
2026-04-29
7
글번호 231830
시스템
답변완료

종목검색식 부탁드려요

종목검색 2건 부탁 드립니다.1번a=avg(c,5);b=avg(c,20);d=avg(c,60);D1=(A+B+D)/3;A1=(highest(high,9)+lowest(low,9))/2;B1=(highest(high,26)+lowest(low,26))/2;B2=(A1+B1)/2;A3=RSI(9)-50;B3=CMO(12)*0.5;B4=A3+B3;B5=EAVG(C,120);(CROSSUP(B2,D1) OR CROSSUP(D1,B5) OR CROSSUP(B2,B5))AND B4>0 AND biwave(20,12,5,3)<42번기간 60승수 1이평 120A=BBandsUp(기간,승수);A1=EAVG(C,이평); SS1=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;SS2=(highest(high,52)+lowest(low,52))/2;SS1(25)<=C && SS2(25)<=C &&(CROSSUP(A,A1) OR (A1*1.03>= A && A1<=A && CROSSUP(C,A)))감사합니다.
프로필 이미지
권석아범
2026-04-29
473
글번호 231829
종목검색