커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4278
글번호 230811
답변완료
수정문의
Input: Bandwidth(8), // 가우시안 커널의 대역폭 mult(2), // 엔벨로프 승수 src(C); // 적용 가격Var: sum_w(0), sum_wy(0), y_hat(0), i(0), w(0), upper(0), lower(0), mae_val(0), TX(0), signal_up(False);// 1. 가우시안 가중치 회귀 계산 (머신러닝 커널 회귀)sum_w = 0;sum_wy = 0;For i = 0 to 25 { // Bandwidth를 사용하여 가중치 계산 w = exp(-(pow(i, 2) / (2 * pow(Bandwidth, 2)))); sum_w = sum_w + w; sum_wy = sum_wy + (src[i] * w);}If sum_w > 0 Then y_hat = sum_wy / sum_w;Else y_hat = src;// 2. 변동성(MAE) 기반 엔벨로프 구축mae_val = Ma(abs(src - y_hat), 20);upper = y_hat + (mae_val * mult);lower = y_hat - (mae_val * mult);// 3. 상승 신호 로직 (하단 이탈 후 회복 시점)signal_up = CrossUp(src, lower);If ((signal_up && c>o) && (signal_up[1] && c[1]>o[1])) Then Find(1);통화중 문의한다걸 깜박했읍니다.위 수식 마지막 "if ~ ~"로 신호가 연속으로 나오게 하려는 건데 맞는지요.
2026-03-27
291
글번호 231311
답변완료
종목검색식 요청드립니다.
당일 분봉에서 아래 신호가 발생된 모든 종목을 검색하는 검색식을 만들고 싶습니다. 가능하다면 n, n-1, n-2일전 등 검색가능하도록 부탁드립니다.항상 감사합니다.^^*키움신호mc=MACD(12,26);ee=MA(C,20,지수);A=MA(C,60);L=LowestSince(1,CrossDown(mc,0),ee);이격=(C-A)/A;각도=이격-이격(1);// 필터추세=A>A(1);거래량=V>Avg(V,60)*1.5;위치=이격>0 AND 이격<0.05;// 신호ee>L AND ee(1)==LAND 각도>0 AND 각도(1)<=0AND 추세 AND 거래량 AND 위치;
2026-03-27
318
글번호 231303
답변완료
수식문의
Condition1 = False;if h >= upper Then{ Condition1 = true; if h >= upper and (C < O or (C > O and C <= O*1.03)) Then Condition1 = False;}위 부분을 첨가하셨는데...수정수식으로 검색해보니 안나오는게 있어보입니다.금일 대동금속(020400)을 시총제한없이 검색해보면어제2.41%양봉고가로 상한선 돌파했고 금일 21.8%로 상한선이상이므로 어제 돌파는 무시하므로 금일 검색되어야 하는데 안나옵니다.한번 봐주세요.
2026-03-27
253
글번호 231300
답변완료
수식 변환 부탁드려요.
안녕하세요.키움지표 수식입니다.예스랭귀지 지표수식으로 변환 부탁드려요.S=(O-avg(L,20))/stdev(L,20);valuewhen(1,crossup(S,0),C)
2026-03-27
190
글번호 231299
답변완료
검색식 부탁드립니다
(1) 820일 가격이동평균선 돌파 검색식(2) S=SUM(1);VALUEWHEN(1,220-S==5,(종가+시가)/2) 돌파검색식 2가지부탁드려 죄송합니다
2026-03-27
167
글번호 231297
산수유 님에 의해서 삭제되었습니다.
2026-03-26
29
글번호 231292
답변완료
수식 수정 바랍니다.
안녕하세요.아래 수식은 당일 오전의 중앙선을 구하는 수식인데수식을 전일17~19시 또는 전일 특정시간을 지정해서 나타낼수 있도록 수정 부탁 드립니다.input : starttime(080000),Endtime(130000);var : Tcond(False),HH(0),LL(0);//지정한 starttime이후 첫봉이 발생하면if (sdate != sDate[1] and sTime >= starttime) or (sdate == sDate[1] and sTime >= starttime and sTime[1] < starttime) Then{ //시간구간 체크 변수는 true Tcond = true; //HH에 초기값으로 고가저장 HH = H; //LL에 초기값으로 저가저장 LL = L;}//지정한 Endtime이후 첫봉이 발생하면if (sdate != sDate[1] and sTime >= Endtime) or (sdate == sDate[1] and sTime >= Endtime and sTime[1] < Endtime) Then{ //시간구간 체크 변수는 false Tcond = False;}//지정한 시간 사이에if tcond == true Then{ //최고가가 갱신(HH에 저장된 값보다 큰 고가가 발생하면 해당 고가를 HH에 저장) if H > HH Then HH = H; //최저가가 갱신(LL에 저장된 값보다 작은 저가가 발생하면 해당 저가를 LL에 저장) if L < LL Then LL = L;}if HH > 0 and LL > 0 Then{var1 = hh;Var2 = ll;}Var3 = (var1+Var2)/2;Var4 = abs(Var3-DayOpen);
2026-03-26
221
글번호 231291
답변완료
차트 신호 수정 부탁드립니다.
"강조"로 작성한 것인데 어제 까지의 신호는 차트에 표시가 되는데 종목검색해 당일 종목을 차트에 띄우면 표시가 안됩니다. 과거 캔들만 보이는데 당일 캔들에 표시하려면 어떻게 하나요?또 다른 질문은~?신호를 강조, 검색 으로 작성했을때 차이가 무엇인지 알고 싶습니다.감사합니다.input : P1(4), D1(4), 위치간격(1); input : P2(20), D2(2); // 일반 볼린저밴드 변수 추가input : shortlen(28), longlen(56); // VW_CCI 변수var : BB1_UP(0), BB2_UP(0), V_CLOSE(0), Avgvalue(0), AVD(0), ccx(0);// 1. 볼린저 밴드 계산BB1_UP = ma(O, P1) + D1 * std(O, P1); // 시가 기준 (4, 4)BB2_UP = ma(C, P2) + D2 * std(C, P2); // 종가 기준 (20, 2)// 2. Volume Weighted CCI 계산V_CLOSE = Close * Volume;Avgvalue = ma(V_CLOSE, longlen);AVD = ma(abs(V_CLOSE - Avgvalue), longlen);if AVD != 0 Then ccx = (V_CLOSE - Avgvalue) / (0.015 * AVD);Else ccx = 0;// 3. 신호 1: 빨간 화살표 (시가 BB 돌파 + VW_CCI > 0)if CrossUp(C, BB1_UP) and ccx > 0 Then{ var1 = Text_New(sDate, sTime, L - (L * (위치간격/100)), "▲"); Text_SetColor(var1, Red); Text_SetStyle(var1, 2, 0); Text_SetSize(var1, 20);}// 4. 신호 2: 파란 화살표 (종가 BB 20:2 돌파 + VW_CCI > 0)if CrossUp(C, BB2_UP) and ccx > 0 Then{ // 빨간 화살표와 겹치지 않게 위치간격을 조금 더 아래(위치간격 + 1.5)로 조정했습니다. var2 = Text_New(sDate, sTime, L - (L * ((위치간격 + 1.5)/100)), "▲"); Text_SetColor(var2, Blue); Text_SetStyle(var2, 2, 0); Text_SetSize(var2, 20);}
2026-03-26
392
글번호 231290
답변완료
부탁드립니다.
저번에 보내주신 수식을 참고하여 선물 매매건수 차이를 다음과 같이 오실레이터로 만들었습니다.var : diff(0,data2);diff = Data2(c)-data3(c);Plot1(diff,"osc",IFF(diff>0,Red,Blue));PlotBaseLine1(0);여기에 특정 조건 예를 들면 매수건수가 매도건수의 2배 또는 3배 일때 또는 매도건수가 매수건수의 2배 또는 3배일때오실레이터 막대 그래프의 색깔이나 두께를 변경할 수 있는 수식이 있을까요??
2026-03-26
212
글번호 231289