커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3274
글번호 230811
답변완료
수식 부탁합니다
A식
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[6](0),VBE_up[6](0),VBE_dn[6](0),
up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0),
fcstVBE_up[6](0),fcstVBE_dn[6](0);
len[0] = 21;
len[1] = 17;
len[2] = 13;
len[3] = 9;
len[4] = 5;
len[5] = 2;
chng_rt = (C/C[1]-1); //가격 변동률
ma_val = ma(chng_rt,len[0]); //가격변동률의 평균
std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차
dn_rng = ma_val - (std_val * 2);
up_rng = ma_val + (std_val * 2);
rawVBE_up = C * (1 + up_rng); //원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to 5 {
VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[0] = VBE_up[0];
fcstVBE_dn[0] = VBE_dn[0];
for j = 1 to 5 {
up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63);
fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j]));
}
plot1(fcstVBE_up[0],"상-5",RED); //5봉 뒤로 이동
plot2(fcstVBE_dn[0],"하-5",black); //5봉 뒤로 이동
if LastBarOnChart then { //마지막봉에서 아래 5봉만 추가로 출력
plot3(fcstVBE_up[5],"상0",RED);
plot4(fcstVBE_up[4],"상-1",RED); //1봉 뒤로 이동
plot5(fcstVBE_up[3],"상-2",RED); //2봉 뒤로 이동
plot6(fcstVBE_up[2],"상-3",RED); //3봉 뒤로 이동
plot7(fcstVBE_up[1],"상-4",RED); //4봉 뒤로 이동
plot8(fcstVBE_dn[5],"하0",BLUE);
plot9(fcstVBE_dn[4],"하-1",BLUE); //1봉 뒤로 이동
plot10(fcstVBE_dn[3],"하-2",BLUE); //2봉 뒤로 이동
plot11(fcstVBE_dn[2],"하-3",BLUE); //3봉 뒤로 이동
plot12(fcstVBE_dn[1],"하-4",BLUE); //4봉 뒤로 이동
}
B식
input:N(9),multi(2),Period(63);
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[11](0),VBE_up[11](0),VBE_dn[11](0),
up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0),
fcstVBE_up[11](0),fcstVBE_dn[11](0);
len[0] = 2;
len[1] = 5;
len[2] = 9;
len[3] = 13;
len[4] = 17;
len[5] = 21;
len[6] = 25;
len[7] = 29;
len[8] = 33;
len[9] = 37;
len[10] = 41;
chng_rt = (C/C[1]-1); // 가격 변동률
ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균
std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차
dn_rng = ma_val - (std_val * multi);
up_rng = ma_val + (std_val * multi);
rawVBE_up = C * (1 + up_rng); // 원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to N {
VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[N] = VBE_up[N];
fcstVBE_dn[N] = VBE_dn[N];
for j = N - 1 downto 0 {
up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period);
fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j]));
}
Var:Size(4);
plot1(fcstVBE_up[N],"상-N",RED,DEF,Size-1); // N봉 뒤로 이동
plot2(fcstVBE_dn[N],"하-N",RED,DEF,Size-1); // N봉 뒤로 이동
FixPlotShift(1,-N);
FixPlotShift(2,-N);
if LastBarOnChart then { // 마지막봉에서 아래 N봉만 추가로 출력
plot3(fcstVBE_up[0],"상0",RED,DEF,Size);
if N > 1 then plot4(fcstVBE_up[1],"상-1",RED,DEF,Size); // 1봉 뒤로 이동
if N > 2 then plot5(fcstVBE_up[2],"상-2",RED,DEF,Size); // 2봉 뒤로 이동
if N > 3 then plot6(fcstVBE_up[3],"상-3",RED,DEF,Size); // 3봉 뒤로 이동
if N > 4 then plot7(fcstVBE_up[4],"상-4",RED,DEF,Size); // 4봉 뒤로 이동
if N > 5 then plot8(fcstVBE_up[5],"상-5",RED,DEF,Size); // 5봉 뒤로 이동
if N > 6 then plot9(fcstVBE_up[6],"상-6",RED,DEF,Size); // 6봉 뒤로 이동
if N > 7 then plot10(fcstVBE_up[7],"상-7",RED,DEF,Size); // 7봉 뒤로 이동
if N > 8 then plot11(fcstVBE_up[8],"상-8",RED,DEF,Size); // 8봉 뒤로 이동
plot12(fcstVBE_dn[0],"하0",BLUE,DEF,Size);
if N > 1 then plot13(fcstVBE_dn[1],"하-1",BLUE,DEF,Size); // 1봉 뒤로 이동
if N > 2 then plot14(fcstVBE_dn[2],"하-2",BLUE,DEF,Size); // 2봉 뒤로 이동
if N > 3 then plot15(fcstVBE_dn[3],"하-3",BLUE,DEF,Size); // 3봉 뒤로 이동
if N > 4 then plot16(fcstVBE_dn[4],"하-4",BLUE,DEF,Size); // 4봉 뒤로 이동
if N > 5 then plot17(fcstVBE_dn[5],"하-5",BLUE,DEF,Size); // 5봉 뒤로 이동
if N > 6 then plot18(fcstVBE_dn[6],"하-6",BLUE,DEF,Size); // 6봉 뒤로 이동
if N > 7 then plot19(fcstVBE_dn[7],"하-7",BLUE,DEF,Size); // 7봉 뒤로 이동
if N > 8 then plot20(fcstVBE_dn[8],"하-8",BLUE,DEF,Size); // 8봉 뒤로 이동
FixPlotShift(4,-1);
FixPlotShift(5,-2);
FixPlotShift(6,-3);
FixPlotShift(7,-4);
FixPlotShift(8,-5);
FixPlotShift(9,-6);
FixPlotShift(10,-7);
FixPlotShift(11,-8);
FixPlotShift(13,-1);
FixPlotShift(14,-2);
FixPlotShift(15,-3);
FixPlotShift(16,-4);
FixPlotShift(17,-5);
FixPlotShift(18,-6);
FixPlotShift(19,-7);
FixPlotShift(20,-8);
}
A식 과 B식 둘다 Envelope 나타내는 지표인데
B가 A를 Golden Cross 종목검색식 부탁합니다
Envelope 상단과 하단선 두가지 모두 Golden Cross 검색식 수식 부탁합니다
2021-09-06
862
글번호 152037
답변완료
간단질문
종목검색식은 해외선물, 코인에서도 가능한지 알고 싶습니다. 단지 주식종목에만 해당하는 것인가요?
2021-09-05
1212
글번호 152036
답변완료
가원장 계좌별 보유내역 디버깅 MessageLog 출력
수고하십니다. 전략식 부탁드립니다.
가원장 계좌별 보유내역 디버깅에서 아래와 같이 MessageLog 출력하고 싶습니다.
- 계좌번호,종목코드,진입일자,진입시간,진입구분,진입단가,보유수량,수익금액,수익틱수,수익율,만기일,잔존기간,위탁증거금,유지증거금,예탁금,주문가능금액(USD)
- 종가 변동시 디버깅 MessageLog 출력
2021-09-05
1262
글번호 152035
답변완료
다음 검색식에 잘못된점이 있다면 가르쳐 주시기바랍니다.
아래식은 고가가 지표(T_Line)를 돌파한 종목을
검색하는 검색식입니다만 검색된 종목이
지표(T_Line)와 주가가 서로 다른 위치에 있는 종목들만 검색됩니다.
무엇이 문제인지 가르쳐 주시기 바랍니다.
Input: Period(43), Period_vol(40), Period_day(21), D(2);
Var: BBup(0), Yang(0), Um(0), Up_vol(0), Dn_vol(0), Uvv(0), Dvv(0), Up_dis(0), Dn_dis(0), T1(0), T_Line(0);
BBup = BollBandUp(Period, D);
Yang = V * (C-L)/(H-L);
Um = V * (H-C)/(H-L);
Up_vol = IFF(C >= O, Yang, 0);
Dn_vol = IFF(C < O, Um, 0);
Uvv = AccumN(Up_vol, Period_vol)/AccumN(V, Period_vol);
Dvv = AccumN(Dn_vol, Period_vol)/AccumN(V, Period_vol);
Up_dis = BBup + (BBup * Dvv);
Dn_dis = BBup - (BBup * Uvv);
T1 = IFF(C >= O, Dn_dis, IFF(C < O, Up_dis, 0));
T_Line = Ema(Ema(Ema(T1, Period_day), Period_day), Period_day);
If CrossUp(H, T_Line) Then
Find(1);
2021-09-05
1307
글번호 152034
답변완료
시스템 질문입니다
지수선물 적용 예정입니다
일봉상 (당일고가 - 당일저가) 값의 평균을 구하는 식을 알고 싶습니다
기간은 차트 자체에서 날짜로 지정이 가능 하더군요
그럼 신속하고 정확한 답변 부탁드립니다
2021-09-05
1501
글번호 152033
답변완료
문의드립니다.
주식, 일봉에서
7일 이내 1회이상 거래대금 100억원 이상 그리고
7일 이내에 7%(전일종가 대비 당일고가) 상승봉 = a 를 찾는다.
(a의 고가에서 -2.5% 하락한)의 지지저항선으로 정의하고
거래당일날 이 지지저항선을 돌파하는 종목을 찾고 싶습니다.
2021-09-05
1344
글번호 152032
답변완료
marketposition 문의
안녕하세요
국내주식이구요 문의드립니다..
현재봉완성시 다음봉 신호발생시
현재거래가 marketposition ==0 (기준)
다음거래가 marketposition ==1 이면,
다다음거래는 marketposition==2 가 되는지요?
2021-09-05
793
글번호 152031
요타 님에 의해서 삭제되었습니다.
2021-09-05
10
글번호 152030
답변완료
피라미딩 매수상태에서 진입이후 2틀이상부터 추가매수 가능
피라미딩 2번째 매수 진입이후 하루는 쉬고 2틀지나고 진입가능하도록 구현하고 싶습니다.
그러나,
EntryDate(N)함수가 피라미딩 상황에서는 포지션이 시작되는 첫진입의 날짜만 제어하는
것 같습니다.
파리미딩의 첫진입말고 2번째 진입부터 하루쉬고 2틀째 진입가능하도록 로직 구현 가능한지 궁금합니다.
EX) if Sdate >= EntryDate + 1 : 이로직은 피라미딩에서는 적용이 안됩니다.
감사합니다.
2021-09-05
735
글번호 152029