커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4270
글번호 230811
답변완료
종목 검색식 부탁드립니다.
1. RSI (11) 가 시그널 (9) 돌파 (골든) 할때 종목 검색식 부탁드려요2. DMI (11) 플러스 가 DMI(11) 마이너스를 돌파(골든)할때 종목검색식 부탁합니다.3. 캔들의 종가가 단순 60이평을 돌파(골든)할때 종목 검색식 부탇드려요4. CCI (12) 가 CCI (14) 를 돌파할때 종목 검색식 부탁드려요
2026-05-07
69
글번호 231936
답변완료
아래수식선이 위나 아래로 움직였을 때 1번, 같으면0번 으로 수정 부탁드립니다
아래 Plot2(var3,"25아래가격선(분봉선)");선이 위나 아래로 움직였을 때 1번, 같으면0번 으로 수정 부탁드립니다===================================================================Input : Period1(0),Period2(25),Period3(50),Period4(75),Period5(100);var : R(0);R = data2(c)/(data2(c)+data3(c));if 25 > R*100 Then var3 = DayLow(); var6 = IFF(var3==var3(1),0,1);plot1(R*100);PlotBaseLine1(Period1,"기준선1");PlotBaseLine2(Period2,"기준선2");PlotBaseLine3(Period3,"기준선3");PlotBaseLine4(Period4,"기준선4");PlotBaseLine5(Period5,"기준선5");Plot2(var3,"25아래가격선(분봉선)");Plot4(var6,"25아래가격선(분봉그림)");
2026-05-07
64
글번호 231931
답변완료
지표식 부탁합니다
안녕하십니까수고가 많으십니다지표식 수정 부탁합니다Input : StartTime(90000),분(90);var : D1(0),TM(0),TF(0),OO(Nan);If (sdate!=sDate[1] and sTime>=StartTime) Then {D1 = sdate;}If D1>0 then {If sdate==D1 Then TM=TimeToMinutes(stime); Else TM=TimeToMinutes(stime)+1440; TF = TM%분; If Bdate!=Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then {OO = Open;}Plot7(OO, "G", Green);}위 식을 수정하고 싶습니다선이 내려올때는 시가와 종가 중에 낮은 가격으로, 선이 올라갈 때는 시가와 종가 중에 높은 가격으로 선을 긋고 싶습니다수정하여 주시면 고맙겠습니다
2026-05-07
65
글번호 231924
답변완료
nh트레이더가 해당 로직만 넣으면 꺼집니다..
1분봉에서 전일거래대금을 가져오기 위해If DayIndex==0 and MarketPosition==0 Then{// 전일거래대금 셋팅당일거래대금 = 0; // 초기화, 당일거래대금은 누적전일거래대금 = 당일거래대금[1];}이거를 첫봉에서만 수행하고매분마다//당일거래대금 누적당일거래대금 = 당일거래대금+M;하고 있는데 nh트레이더가 계속 꺼집니다..다른 프로그램에서도 쓰고 있는데, 이번에 새로 개발중인 프로그램에서도 다를 로직이 없는데 저것만 넣으면 꺼지네요..혹시 더 좋은 방안 있을까요..?
2026-05-07
46
글번호 231923
답변완료
종목검색식 부탁드립니다.
1. 아래의 식을 참고하여, 종목 검색식 부탁드려요. 단, 아래의 식을 만족하고 "첫번째" (추가요망)로 나오는 종목 검색식 부탁드려요 ---아래---R=RSi(9);Rs=eavg(R,9);Dp=DiPlus(15);Dm=DiMinus(14);M=Macd(12,30);Ms=eavg(M,9);S=StochasticsSlow(12,8);Ss=eavg(S,3);CC=CCi(15);Cs=eavg(CC,12);M60=ma(C,60);체크합=if(R>Rs,1,0)+if(Dp>Dm,1,0)+if(M>Ms,1,0)+if(S>Ss,1,0)+if(CC>Cs,1,0)+if(C>M60,1,0);체크합==2 OR 체크합==32. Bostian's Intraday intensity index 가 "상승전환" OR "연속상승"시 0봉전~5봉전 까지의 종목 검색식 부탁드려요3. BWI (60,2) 가 BWI (120,2) 를 돌파할때 종목 검색식 부탁드려요.4. BWI (60,2) 가 BWI (120,2) 를 돌파할때 0봉전~5봉전까지의 종목 검색식 부탁드려요.5. OBV 가 시그널을 돌파할때 0봉~5봉전까지 종목 검색식 부탁드려요6. OBV 가 "상승전환" OR "연속상승" 할때 0봉~5봉전까지 종목 검색식 부탁드려요7. OBV 지표 (시그널포함) 부탁드려요
2026-05-07
75
글번호 231921
답변완료
종목검색식 질의합니다
시가총액 5천억이상이고 거래대금이 1천억 이상인 종목중에서 코스피,코스닥 전체시장에서 거래대금 순위에서 100위권 안에 있고 전일 종가대비 상승률 10%이상인 종목을 검색하는 수식을 어떻게 구현할 수 있을까요?거래대금 순위가 지원되지않아 고민스럽지만 그래도 질의해봅니다.
2026-05-07
48
글번호 231919
답변완료
문의 드립니다.
안녕하세요 많은 도움 주셔서 감사 드립니다.현재 가격이 아래의 위치/라인을 돌파하는 종목의 검색식을 부탁 드립니다. A=Highest(H(1), 30) < H;B=Valuewhen(1, A, H);C=A*(-0.50/100);K=if(A, B, B+C);if(K < K(1), K, 0)감사합니다.
2026-05-07
46
글번호 231918
답변완료
검색식에서 글자색깔 변경할수있게 부탁드립니다
아래 수식은 예전에 짜주신 수식인데요여기서 차트에 표시될때 글짜가 검은색이 아닌 다른 색깔(예 빨간색)표시될수있도록 변경해주시면 감사하겠습니다아니면 설정창에서 제가 임의로 색깔을 변경할수있게 해주시면더 감사하겠습니다감사합니다 var : cnt(0),tx1(0),tx2(0),tx3(0),tx4(0),tx5(0);Array : hh[6](0),dd[6](0),tt[6](0),pp[6](0);if O > C[1] Then{ var1 = abs(O-C[1]); if var1 >= hh[1] Then { hh[1] = var1; dd[1] = sDate; tt[1] = sTime; pp[1] = h; For cnt = 2 to 5 { hh[cnt] = hh[cnt-1][1]; dd[cnt] = dd[cnt-1][1]; tt[cnt] = tt[cnt-1][1]; pp[cnt] = pp[cnt-1][1]; } Text_Delete(tx1); tx1 = Text_New(dd[1],tt[1],pp[1],"1위"); Text_Delete(tx2); tx2 = Text_New(dd[2],tt[2],pp[2],"2위"); Text_Delete(tx3); tx3 = Text_New(dd[3],tt[3],pp[3],"3위"); Text_Delete(tx4); tx4 = Text_New(dd[4],tt[4],pp[4],"4위"); Text_Delete(tx5); tx5 = Text_New(dd[5],tt[5],pp[5],"5위"); } else if var1 < hh[1] and var1 >= hh[2] Then { hh[2] = var1; dd[2] = sDate; tt[2] = sTime; pp[2] = h; For cnt = 3 to 5 { hh[cnt] = hh[cnt-1][1]; dd[cnt] = dd[cnt-1][1]; tt[cnt] = tt[cnt-1][1]; pp[cnt] = pp[cnt-1][1]; } Text_Delete(tx2); tx2 = Text_New(dd[2],tt[2],pp[2],"2위"); Text_Delete(tx3); tx3 = Text_New(dd[3],tt[3],pp[3],"3위"); Text_Delete(tx4); tx4 = Text_New(dd[4],tt[4],pp[4],"4위"); Text_Delete(tx5); tx5 = Text_New(dd[5],tt[5],pp[5],"5위"); } else if var1 < hh[2] and var1 >= hh[3] Then { hh[3] = var1; dd[3] = sDate; tt[3] = sTime; pp[3] = h; For cnt = 4 to 5 { hh[cnt] = hh[cnt-1][1]; dd[cnt] = dd[cnt-1][1]; tt[cnt] = tt[cnt-1][1]; pp[cnt] = pp[cnt-1][1]; } Text_Delete(tx3); tx3 = Text_New(dd[3],tt[3],pp[3],"3위"); Text_Delete(tx4); tx4 = Text_New(dd[4],tt[4],pp[4],"4위"); Text_Delete(tx5); tx5 = Text_New(dd[5],tt[5],pp[5],"5위"); } else if var1 < hh[3] and var1 >= hh[4] Then { hh[4] = var1; dd[4] = sDate; tt[4] = sTime; pp[4] = h; For cnt = 5 to 5 { hh[cnt] = hh[cnt-1][1]; dd[cnt] = dd[cnt-1][1]; tt[cnt] = tt[cnt-1][1]; pp[cnt] = pp[cnt-1][1]; } Text_Delete(tx4); tx4 = Text_New(dd[4],tt[4],pp[4],"4위"); Text_Delete(tx5); tx5 = Text_New(dd[5],tt[5],pp[5],"5위"); } else if var1 < hh[4] and var1 >= hh[5] Then { hh[5] = var1; dd[5] = sDate; tt[5] = sTime; pp[5] = h; Text_Delete(tx5); tx5 = Text_New(dd[5],tt[5],pp[5],"5위"); }}Text_SetStyle(tx1,2,1);Text_SetStyle(tx2,2,1);Text_SetStyle(tx3,2,1);Text_SetStyle(tx4,2,1);Text_SetStyle(tx5,2,1);
2026-05-07
43
글번호 231915
답변완료
중심선 좀 부탁 드립니다.
ㅇ 항상 많은 도움 고맙습니다.ㅇ 아래 수식에서 중심선 좀 부탁 드립니다. (수직선 포함)ㅇ 중심선은 다음 지그재그선 까지 요청 드림니다.(그림 "중심선 연장") → 중심선은 최소 20봉 이상ㅇ 중심선이 출력 될때 소리음도 부탁 드림니다. PlaySound("C:\CyberOrO\Wav\3\tl4.wav"); ##input:length(12);Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0),Year(0),month(0),nday(0);Array:고점[10,2](0),저점[10,2](0);Year = Floor(bDate / 10000);month = Floor(FracPortion(bdate/10000)*100);nday = date - int(date/100)*100;처리구분 = "";If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then{ If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리";} Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then{ lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1]),2)+"("+NumToStr((고점[1,1]-저점[1,1])/저점[1,1]*100,2)+"%)"+NewLine+NumToStr(고점[1,1],2)+NewLine+NumToStr(year[eBar],0)+"/"+NumToStr(month[eBar],0)+"/"+NumToStr(nday[eBar],0)); Text_SetStyle(Text1, 2, 1); // If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then// {// sBar = Index - 저점[2,2];// eBar = Index - 저점[1,2];// TL2 = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]);// TL_SetColor(TL2,BLUE);// } }}If 처리구분 == "저점처리" Then{ lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); // Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1]),2)+// "("+NumToStr((저점[1,1]-고점[1,1])/고점[1,1]*100,2)+"%)"+// NewLine+NumToStr(저점[1,1],2)+// NewLine+NumToStr(year[eBar],0)+"/"+NumToStr(month[eBar],0)+"/"+NumToStr(nday[eBar],0));// Text_SetStyle(Text1, 2, 0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; TL3 = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL3,RED); } }}TL_SetSize(TL1,1); TL_SetColor(TL1,Rgb(255,0,0));TL_SetSize(TL2,1);TL_SetSize(TL3,1);ㅇ 고맙 습니다.
2026-05-07
74
글번호 231913