커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

지표식 좀 부탁드립니다.

당일 18시 3분에 콜,풋 종목 양매수 했을 경우 다음날 15시45분까지의 손익값중 최저값을 구하고 싶습니다.// 당일 18시3분에 양매수 했을 경우의 손익값input : 콜매수갯수(10),풋매수갯수(10),starttime(180300),endtime(154500);var : Tcond(false);var: LL(0);if stime == 180300 Then { // 당일 18시3분에 양매수 했을 경우의 손익값var1= c;Var2=Data2(c);}Var3= (c-var1)*콜매수갯수*250000;Var4=(Data2(c)-Var2)*풋매수갯수*250000;Var5= Var3+Var4;여기서 부터 안됩니다.18시 부터 다음날 15시45분까지의 양매수 손익값(var5)의 최저값을 구하고 싶습니다.if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then{ Tcond = false;}if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then{ Tcond = true; LL = Var5;}if Tcond == true then{ if Var5 < LL Then LL = Var5; Plot2(LL,"최저값");}plot1(Var5);
양합 양합손익
프로필 이미지
미운오리
2025-11-10
136
글번호 227862
지표
답변완료

종목검색식 부탁드립니다

ema(c,100) 이 ema (c,200)을 돌파 ema(c,100)이 20일 선행된 ema(c,200)을 돌파ema(c,100) 이 ema(c,300)을 돌파300봉 사이에서 위의 3봉이 같이 존재할때 사용하는 검색식 부탁드립니다
프로필 이미지
골더
2025-11-10
148
글번호 227859
종목검색
답변완료

종목검색식 부탁드립니다

1. 거래일 기준, 60일 동안 최대거래량 종목검색식 부탁드립니다. (60일 은 변수처리 해주세요) 2. 아래의 예스트레이더 수식에, "0봉전 ~10봉전까지의 모든종목" 을 추가하여 수정 부탁드려요. --아래-- input : P1(60),비율(1.95); var : cnt(0),count(0); var : sum1(0); var : mav1(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ for cnt = 1 to 223{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 Then{ sum1 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count]; } mav1 = sum1/P1; } IF mav1*비율>=L && C>O && C>=mav1 && mav1>mav1[1] TheN Find(1);3. 아래의 예스트레이더 수식에, "0봉전 ~10봉전까지의 모든종목" 을 추가하여 수정 부탁드려요. --아래-- input : 전환선기간(6); var : cnt(0); var : wH1(0), wL1(0); var : w전환선(0); Array : wH[100](0), wL[100](0); if DayOfWeek(Bdate) > DayOfWeek(Bdate[1]) Then { wH[0] = H; wL[0] = L; for cnt = 1 to 99 { wH[cnt] = wH[cnt-1][1]; wL[cnt] = wL[cnt-1][1]; } } if H > wH[0] Then wH[0] = H; if L < wL[0] Then wL[0] = L; if wH[전환선기간-1] < 0 and wL[전환선기간-1] > 0 then { wH1 = wH[0]; wL1 = wL[0]; for cnt = 0 to 전환선기간-1 { if wH[cnt] > wH1 Then wH1 = wH[cnt]; if wL[cnt] < wL1 Then wL1 = wL[cnt]; } w전환선 = (wH1 + wL1)/2; } input : P1(100); var : count(0),BB(0),BB1(0); var : sum1(0); var : mav1(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ for cnt = 1 to 299{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 Then{ sum1 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count]; } mav1 = sum1/P1; } BB=MAX(w전환선,mav1); BB1=MIN(w전환선,mav1); IF BB1*1.01>=BB && C>O && CROSSUP(C,BB) TheN Find(1);
프로필 이미지
일지매7
2025-11-10
163
글번호 227858
종목검색
답변완료

검색식 부탁드립니다

S=sum(1);최고거래량=highestsince(1,S==1,V);D=valuewhen(1,최고거래량==v,c)A=Lowest(L, 기간);기간 120지표값D를 A가 N봉전에 돌파후 지속 중인 검색식 부탁 드립니다 N봉전은 3일로 해주세요
프로필 이미지
님이랑
2025-11-10
148
글번호 227857
종목검색
답변완료

조건검색문의드립니다

[1]지표명 : 앞당김단기선행 양운구름이 앞당김 장기음운상태일때 선행구름을 단기양운이 돌파 1)앞당김 단기선행구름 수식1 :앞당김 단기선행스팬1 선행1=(highest(high,shortPeriod)+lowest(low,shortPeriod)+highest (high,midPeriod)+lowest(low,midPeriod))/4 수식2 :앞당김 단기선행스팬2 선행2=(highest(high,longPeriod)+lowest(low,longPeriod))/2 지표조건설정 shortPeriod 5 midPeriod 10 longPeriod 25 2)앞당김 장기선행구름 수식1: 앞당김 장기선행스팬1 선행1=(highest(high,shortPeriod)+lowest(low,shortPeriod)+highest (high,midPeriod)+lowest(low,midPeriod))/4 수식2:앞당김 장기선행스팬2 선행2=(highest(high,longPeriod)+lowest(low,longPeriod))/2 지표조건설정 shortPeriod 40 midPeriod 125 longPeriod 250 (요청사항)앞당김 단기 양운구름대가 반드시 앞달김 장기 음운구름대를돌파후, 장기구름대가 양운으로 바뀌는 시점에 종목이 검색되게 예스트레이더 YesLanguage 문법에 맞게 변환해서 조건검색식을 만들어주세요. [2)지표명 : 위 수식에서 단기양운구름이 장기구름을(양운,음운 상관없이 관통되도 됨) 돌파시 검색되는 종목 조건검색식 부탁드립니다.
프로필 이미지
해피럭키
2025-11-10
152
글번호 227856
종목검색
답변완료

수식 검토 부탁드립니다.

항상 많은 도움 감사드립니다. 시스템식 중에서 포지션 정리 부분에서 stoploss가 생각하고는 다르게 작동하는 경우가 있어서 잘못된 부분에 대해서 검토 부탁드립니다.if MarketPosition == 1 Then { if IsEntryName("A매수") == true Then SetStopLoss(8,PointStop); if IsEntryName("B매수") == true Then SetStopLoss(10,PointStop); if IsEntryName("C매수") == true Then SetStopLoss(15,PointStop); } Else SetStopLoss(0);if MarketPosition == 1 Then{ if IsEntryName("A매수") == true Then{if CrossDown(A,B)thenExitlong("매수정리1",atmarket,def,"A매수");} if IsEntryName("B매수") == true Then{if CrossDown(C,D)thenExitlong("매수정리2",atmarket,def,"B매수");} if IsEntryName("C매수") == true Then{if CrossDown(E,F)thenExitlong("매수정리3",atmarket,def,"C매수");} }if MarketPosition == -1 Then { if IsEntryName("AI매도") == true Then SetStopLoss(8,PointStop); if IsEntryName("B매도") == true Then SetStopLoss(10,PointStop); if IsEntryName("C매도") == true Then SetStopLoss(15,PointStop); } Else SetStopLoss(0);if MarketPosition ==- 1 Then{ if IsEntryName("A매도") == true Then{if CrossUp(A,B)thenExitshort("매도정리1",atmarket,def,"A매도");} if IsEntryName("B매도") == true Then{if CrossUp(C,D)thenExitshort("매도정리2",atmarket,def,"B매도");} if IsEntryName("C매도") == true Then{if CrossUp(E,F)thenExitshort("매도정리3",atmarket,def,"C매도");} }이런식으로 작성하면 매수쪽에 stoploss 값은 맞게 포지션 정리가 되는데 매도쪽 stoploss가 정해놓은것과 다른 값에 정리가 되는 경우가 있어서요..검토 및 수식 수정 부탁드리겠습니다. 핵심은 매수와 매도 포지션 정리할때 각각 종류의 매수,매도 포지션에 다른 stoploss값을 주려는 것입니다.
프로필 이미지
비정성시
2025-11-10
168
글번호 227854
시스템
답변완료

종목검색식 요청드립니다.

아래 키움신호가 당일 분봉에서 볼린져밴드(20,2) 하단선 이하에서 신호가 발생했던 모든 종목을 검색하는 검색식을 만들고 싶습니다. 도움 부탁드립니다. 지표조건(볼린져밴드수치, 신호수식 지표수치)은 수정가능하도록 부탁드립니다. 감사합니다.!!^^* 키움신호수식 (지표조건 : period 20, ratio 2, Vmul 0.5) AA=C(1)<lowest(C(2), period)*ratio;BB=if(C(1)>O(1), (H(1)+L(1)+C(1)+H(1))/2-L(1), (if(C(1)<O(1), (H(1)+L(1)+C(1)+L(1))/2-L(1), (H(1)+L(1)+C(1)+C(1))/2-L(1)) ) );CC=if(C(1)>O(1), (H(1)+L(1)+C(1)+H(1))/4, (if(C(1)<O(1), (H(1)+L(1)+C(1)+L(1))/4, (H(1)+L(1)+C(1)+C(1))/4) ) );DD=(O>=BB) or crossup(C, BB);EE=(O>=CC) or crossup(C, CC);FF=V>=V(1)*Vmul;GG=C>O;HH=C(1)<=O;AA and (DD or EE) and FF and GG and HH
프로필 이미지
onlypsn
2025-11-10
163
글번호 227853
종목검색
답변완료

문의 드립니다

MACD(12,26,9) 골든크로스 매수시징시작시 9시 ~ 9시10분 까지 일시적 거래량 증가와 함께 주가 올리는 장난이 많이 발생해장난 골든크로스가 많습니다.시가는 갭상승 전일 종가 대비 6% 미만, 현재주가는 11% 미만, 최고가는 전일종가 대비 13% 미만인 종목에 대해9시 11분 부터 12시 30분 사이에 발생하는 골든크로스 종목검색식 부탁합니다.
프로필 이미지
미래테크
2025-11-10
171
글번호 227849
종목검색
답변완료

수정좀 부탁드립니다

input : N(3); var : Per(0.1); var : HD(0),HT(0),HH(0),HHD(0),HHT(0); var : HD1(0),HT1(0),HH1(0); var : LD(0),LT(0),LL(0),LLD(0),LLT(0); var : LD1(0),LT1(0),LL1(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0),cnt(0); Array : HHTL[20](0),LLTL[20](0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD = sDate; HT = sTime; HH = h; HHD = sDate; HHT = sTime; HD1 = HHD[1]; HT1 = HHT[1]; HH1 = HH[1]; HTL = tl_new(HD,HT,HH,NextBarSdate,NextBarStime,HH); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH,NumToStr(HH,2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; For cnt = 19 DownTo 1 { HHTL[cnt] = HHTL[cnt-1]; } if HH1 > 0 Then { HHTL[0] = TL_New(HD1,HT1,HH1,HHD,HHT,HH); TL_SetColor(HHTL[0], Red); TL_SetDrawMode(HHTL[0],0); TL_SetExtRight(HHTL[0],true); TL_Delete(HHTL[N]); } } Else { if h > HH Then { HH = h; HHD = sDate; HHT = sTime; if HH1 > 0 Then TL_SetEnd(HHTL[0],HHD,HHT,HH); } HB = HB+1; } TL_SetBegin(HTL,HD,HT,HH); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH); } if T == -1 Then { if T != T[1] Then { LD = sDate; LT = sTime; LL = l; LLD = sDate; LLT = sTime; LD1 = LLD[1]; LT1 = LLT[1]; LL1 = LL[1]; LTL = tl_new(LD,LT,LL,NextBarSdate,NextBarStime,LL); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL,NumToStr(LL,2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; For cnt = 19 DownTo 1 { LLTL[cnt] = LLTL[cnt-1]; } if LL1 > 0 Then { LLTL[0] = TL_New(LD1,LT1,LL1,LLD,LLT,LL); TL_SetColor(LLTL[0], Blue); TL_SetDrawMode(LLTL[0],0); TL_SetExtRight(LLTL[0],true); TL_Delete(LLTL[N]); } } Else { if l < LL Then { LL = l; LLD = sDate; LLT = sTime; if LL1 > 0 Then TL_SetEnd(LLTL[0],LLD,LLT,LL); } LB = LB+1; } TL_SetBegin(LTL,LD,LT,LL); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL); } 추세선을 몇개를 노출할것인지는 잘추가해주셨구요 추세선 역시 직전 n번째 부터 연결할수 있도록 수정 부탁드립니다
프로필 이미지
와우리
2025-11-10
181
글번호 227844
지표