커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다

안녕하세요1. 예스랭귀지에서 장중 선물(KOSPI200)/현물(KOSPI)의 “실시간 외국인 누적 순매수(투자자별 매매동향)” 값을 어떤 함수명 또는 데이터명으로 참조할 수 있나요?- ex) 내장변수/내장함수/특정 데이터 필드/지표 형태 등- “누적 순매수”가 직접 제공되지 않으면, 매수/매도 실시간 데이터가 따로 제공되는지도 궁금합니다.- 만약 없다면 예스랭귀지에 사용자함수 등으로 구현을 할 수 있는 방법이 있는지 문의 드립니다2. 위 데이터가 예스랭귀지에서 장중 실시간으로 갱신되는 값인가요?- 갱신 주기(틱/초/봉 마감 등)가 있다면 알려주세요.3. 가능하다면, 예스랭귀지로 아래를 포함한 최소 예제 코드를 부탁드립니다.-10분봉 기준으로 선물/현물 외국인 누적 순매수 값을 읽는 방법- 두 값이 같은 방향일 때만 선물 매수/매도(각 1계약)- 종가 무조건 청산(SetStopEndOfDay)감사합니다.
프로필 이미지
풍성매매
2026-02-16
140
글번호 230577
시스템
답변완료

다시 문의드립니다.

수고 많으십니다.매수 진입봉을 끼고 4양봉후 4음봉시 청산하는 식을 구합니다.즉, 매수진입봉 이전봉이나 매수진입봉이나 매수진입봉 이후봉이나 매수진입봉을 끼고서 합쳐 양봉이 4개 연속되면 1차 조건 만족이고,그 다음 달아서 2차조건인 음봉이 3개 나오면 청산입니다.CountIf(C > O,4)[BarsSinceEntry] == 4 and CountIf(C < O,3) == 3 Then 위의 식을 쓰면 매수진입봉부터 3양봉이 되버립니다.(매수진입봉 이전부터도 매수진입봉만 끼고 4양봉이면 1차조건 만족입니다)CountIf(C > O,4) == 4 and CountIf(C < O,3) == 3 Then 그리고 위의 식대로 하면 아예 안먹힙니다.미리 노고에 감사드립니다~
프로필 이미지
카르마다
2026-02-15
107
글번호 230575
시스템
답변완료

수식작성 요청드립니다.

다음 조건에 맞는 수식 작성 부탁드립니다. <최초 매수조건>거래금액은 100만원이고 당일의 시가가 전일 종가대비 -4 ~ +4% 이내일 때 시초가 매수<익절조건>1. 매수 후 매입가대비 +5%이상이면 청산2. 매수 후 매입가대비 +4%이상 상승 후 다시 매입가대비 +0.5%까지 하락해도 청산즉, 청산은 1또는 2의 경우가 발생하면 청산합니다.<손절조건>매입가 대비 -3%이상 하락하면 청산<재진입 조건>손절 후 현재가가 다시 최초매입가 도달시 재매수. 익절의 경우에는 다시 매수하지 않습니다. 재진입 횟수는 10회로 하되 임의로 조정할 수 있도록 부탁드립니다. <재진입 이후 익절조건과 손절조건>최초 매수시 익절조건 및 손절조건과 동일합니다. <당일매매종료>당일 15시19분 기준으로 포지션이 존재할 경우 전량 매도-끝감사합니다.
프로필 이미지
은색
2026-02-15
106
글번호 230574
시스템
답변완료

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

1. 가중 3이평 이 가중 120 이평을 돌파할때(골든크로스) 종목 검색식 부탁드립니다.2. 아래의 3가지 골든크로스를 1개의 예스트레이더 종목 검색식 부탁드려요. 1) 가중 3 이평 가중 120 이평 골든크로스 2) 가중 4이평 가중 120 이평 골든크로스 3) 가중5 이평 가중 120 이평 골든크로스3. 양봉 캔들이 가중 120 이평을 돌파할때 종목 검색식 부탁드립니다.4. 가중 120 이평을 기준으로 상단 하단 1%에 있는 모든 종목 검색식 부탁드려요,(양봉 음봉 모두)5. 가중 120 이평을 기준으로 "상단 하단 0.5%에 있는 양봉캔들" 모든 종목 검색식 부탁드려요,-----------------------------------------------------------------6. 아래의 수식을 참고하여, " a 가 기준선 0 위에 있는 " 모든 종목검색식 부탁드립니다. 7'. 아래의 수식을 참고하여, " a 가 기준선 0 을 돌파할때 " 모든 종목검색식 부탁드립니다. --아래-- a=avg(c,240); b=(a(0)/c)-(a(1)/c); 기준선 0-----------------------------------------8 아래의 수식을 참고하여, "지표" 부탁드립니다. ---아래--- a=avg(c,240); b=(a(0)/c)-(a(1)/c); 기준선 0
프로필 이미지
일지매7
2026-02-15
127
글번호 230572
종목검색

등정 님에 의해서 삭제되었습니다.

프로필 이미지
등정
2026-02-15
1
글번호 230571
종목검색
답변완료

수식 부탁합니다

input : Signal(9);var : OBVval(0),OBVsig(0);OBVval = OBV;OBVsig = ma(OBVval,Signal);Plot1(OBVval, "OBV");OBV 분봉에서 obv값이 상승하다 전봉보다 작아질때 지표식 부탁합니다예를 들어 10분봉이면 분봉이 진행중 이면 나타나지 않고 분봉이 완료되면 나타나는 지표식 부탁합니다.즐거운 설 명절 보내세요,
프로필 이미지
미래테크
2026-02-14
112
글번호 230570
지표
답변완료

이평선 쓰리바닥시 매수진입, 헤더앤숄더(쓰리봉)시 매도진입

해외선물 진입시 참고하고자 합니다.Q&A에 있을 것 같아서 찾아 보았으나 제가 찾지를 못해 질문을 올립니다.1. 5이평선이 쓰리바닥이고 마지막 바닥이 쓰리바닥 중 가장 높은 위치에 있을 때 매수진입2. 5이평선이 헤드앤숄더(쓰리봉)이고 쓰리봉 중 마지막 봉우리가 가장 낮은 위치에 있을 때 매도진입하는 식을 부탁드립니다.
프로필 이미지
하날랑
2026-02-14
109
글번호 230569
시스템
답변완료

문의 드립니다

obv signal 수식 부탁드립니다
프로필 이미지
러블리
2026-02-14
76
글번호 230568
지표
답변완료

지표식 주석

항상 감사드립니다아래지표식 주석 부탁드립니다#### AI-Weighted RSI ###input : rsiLen(14);input : sigLen(20);input : learnLen(20);var : retLog(0),rsiVal(0),alpha(0),ATRV(0),atrPct(0),vol(0),volLogChg(0),y_rsi(0);var : x_ret(0),x_rsi(0),x_atrp(0),x_vchg(0),x_vol(0);retLog = log(close / iff(isnan(close[1])==true, close,close[1]));rsiVal = rsi(rsiLen);alpha = 1 / 200 ;ATRV = IFf(IsNan(ATRV[1]) == true, ema(TrueRange,200) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1]));atrPct = ATRV / close;vol = volume;volLogChg = log(vol / iff(isnan(vol[1])==true, vol,vol[1]));y_rsi = rsiVal[1];x_ret = iff(IsNan(retLog[1])==true,0,retLog[1]);x_rsi = iff(IsNan(rsiVal[1])==true,0,rsiVal[1]); x_atrp = iff(IsNan(atrPct[1])==true,0,atrPct[1]);x_vchg = iff(IsNan(volLogChg[1])==true,0,volLogChg[1]);x_vol = iff(IsNan(vol[1])==true,0,vol[1]);var1 = CoefficientR(y_rsi, x_ret, learnLen);var2 = CoefficientR(y_rsi, x_rsi, learnLen);var3 = CoefficientR(y_rsi, x_atrp, learnLen);var4 = CoefficientR(y_rsi, x_vchg, learnLen);var5 = CoefficientR(y_rsi, x_vol, learnLen);var : corrs_abs_ret(0),corrs_abs_rsi(0),corrs_abs_atrp(0),corrs_abs_vchg(0),corrs_abs_vol(0);corrs_abs_ret = abs(iff(IsNan(var1)==true,0,var1));corrs_abs_rsi = abs(iff(IsNan(var2)==true,0,var2));corrs_abs_atrp = abs(iff(IsNan(var3)==true,0,var3));corrs_abs_vchg = abs(iff(IsNan(var4)==true,0,var4));corrs_abs_vol = abs(iff(IsNan(var5)==true,0,var5));Array : corrs[5](0);corrs[0] = corrs_abs_ret;corrs[1] = corrs_abs_rsi;corrs[2] = corrs_abs_atrp;corrs[3] = corrs_abs_vchg;corrs[4] = corrs_abs_vol;var : i(0),j(0),n(0);Array : tmp[5](0),topIdx[5](0);var : maxI(0),maxV(0),vj(0),take(False);for i = 0 to 4{ tmp[i] = iff(IsNan(corrs[i])==true,0,corrs[i]); topIdx[i] = 0;}for n = 0 to 4{ maxI = 0; maxV = tmp[0]; for j = 1 to 4 { vj = tmp[j]; take = isnan(maxV) == true or (IsNan(vj) == False and vj > maxV); if take Then { maxV = vj; maxI = j; } } topIdx[n] = maxI; tmp[maxI] = nan;}var : xz_ret(0),xz_rsi(0),xz_atrp(0),xz_vchg(0),xz_vol(0);var : m1(0),s1(0),fz1(0);var : m2(0),s2(0),fz2(0);var : m3(0),s3(0),fz3(0);var : m4(0),s4(0),fz4(0);var : m5(0),s5(0),fz5(0);Array : featz[5](0);m1 = ema(x_ret, learnLen);s1 = std(x_ret, learnLen);fz1 = iff(s1 > 0 , (x_ret - m1) / s1 , 0);m2 = ema(x_rsi, learnLen);s2 = std(x_rsi, learnLen);fz2 = iff(s2 > 0 , (x_rsi - m2) / s2 , 0);m3 = ema(x_atrp, learnLen);s3 = std(x_atrp, learnLen);fz3 = iff(s3 > 0 , (x_atrp - m3) / s3 , 0);m4 = ema(x_vchg, learnLen);s4 = std(x_vchg, learnLen);fz4 = iff(s4 > 0 , (x_vchg - m4) / s4 , 0);m5 = ema(x_vol, learnLen);s5 = std(x_vol, learnLen);fz5 = iff(s5 > 0 , (x_vol - m5) / s5 , 0);xz_ret = iff(isnan(fz1) ==true,0,fz1);xz_rsi = iff(isnan(fz2) ==true,0,fz2);xz_atrp = iff(isnan(fz3) ==true,0,fz3);xz_vchg = iff(isnan(fz4) ==true,0,fz4);xz_vol = iff(isnan(fz5) ==true,0,fz5);featZ[0] = xz_ret;featZ[1] = xz_rsi;featZ[2] = xz_atrp;featZ[3] = xz_vchg;featZ[4] = xz_vol;value1 = CoefficientR(y_rsi, x_ret, learnLen);value3 = CoefficientR(y_rsi, x_atrp, learnLen);value4 = CoefficientR(y_rsi, x_vchg, learnLen);value5 = CoefficientR(y_rsi, x_vol, learnLen);var : coef_ret(0),coef_rsi(0),coef_atrp(0),coef_vchg(0),coef_vol(0);coef_ret = iff(IsNan(value1)==true,0,value1);coef_rsi = 1.0; // Hardcoded: always 1, since x_rsi == y_rsicoef_atrp = iff(IsNan(value3)==true,0,value3);coef_vchg = iff(IsNan(value4)==true,0,value4);coef_vol = iff(IsNan(value5)==true,0,value5);Array : coef[5](0);coef[0] = coef_ret;coef[1] = coef_rsi;coef[2] = coef_atrp;coef[3] = coef_vchg;coef[4] = coef_vol;var : s(0),idx(0),g(0),z(0),pred_rsi_z(0);s = 0.0;pred_rsi_z = 0;for i = 0 to 4{ idx = topIdx[i]; g = coef[idx]; z = featZ[idx]; pred_rsi_z = pred_rsi_z + (iff(isnan(g)==true,0,g) * IFf(IsNan(z)==true,0,z));}var : rsi_mean(0),rsi_std(0),pred_rsi(0);var : rsiWeight(0),ema_rsi(0);rsi_mean = ema(y_rsi, learnLen);rsi_std = std(y_rsi, learnLen);pred_rsi = iff(isnan(rsi_mean)==true,0,rsi_mean) + iff(isnan(rsi_std)==true,0,rsi_std) * pred_rsi_z;rsiWeight = max(-2, min(2, (50 - iff(isnan(pred_rsi)==true,0,pred_rsi)) / 50)) * -1;ema_rsi = ema(rsiWeight,sigLen);//종목검색/* IF (rsiWeight[1]<=-0.5 OR rsiWeight<=-0.5) && CrossUP(rsiWeight,-0.5) && C>O TheN Find(1); */if CrossUp(rsiWeight,ema_rsi) Then var91=0.5 ;if CrossDown(rsiWeight,ema_rsi) Then var91=-0.5 ;
프로필 이미지
조민철
2026-02-14
187
글번호 230567
지표