커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3626
글번호 230811
답변완료
rsi 삼중지표 시스템
항상 감사드립니다
아래 3 조건식이 발생위치가 10개봉이내일때 매수/매도
1조건_ rsi7030_직선라인 = 1
2조건_ rsi8020_직선라인 = 1
3조건_ rsi7525_직선라인 = 1
1조건 and 2조건 and 3조건 이고 1조건,2조건,3조건 발생시점이 10개봉 이내일때 매수발생
1조건_ rsi7030_직선라인 = -1
2조건_ rsi8020_직선라인 = -1
3조건_ rsi7525_직선라인 = -1
1조건 and 2조건 and 3조건 이고 1조건,2조건,3조건 발생시점이 10개봉 이내일때 매도발생
감사합니다
##################################
#####1_ RSI 시스템_(70_30) #####
##### -Period(30) #####
##################################
input : Period50(30);
var:rsi7030(0),rsi7030_70(0),rsi7030_30(0),rsi7030_중심선(0),rsi7030_직선라인(0);
rsi7030 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period50)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period50)*100);
if rsi7030 <= 30 Then
rsi7030_30 = O;
if rsi7030 >= 70 Then
rsi7030_70 = H;
rsi7030_중심선=(rsi7030_30+rsi7030_70)/2 ;
if rsi7030_70<rsi7030_70[1] Then
rsi7030_직선라인 = 1;
if rsi7030_30>rsi7030_30[1] Then
rsi7030_직선라인 = -1;
if rsi7030_70>rsi7030_70[1] Then
rsi7030_직선라인 = 1;
if rsi7030_30<rsi7030_30[1] Then
rsi7030_직선라인 = -1;
##################################
#####2_ RSI 시스템_(80_20) #####
##### -Period(23) #####
##################################
input : Period51(23);
var:rsi8020(0),rsi8020_80(0),rsi8020_20(0),rsi8020_중심선(0),rsi8020_직선라인(0);
rsi8020 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period51)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period51)*100);
if rsi8020 <= 20 Then
rsi8020_20 = O;
if rsi8020 >= 80 Then
rsi8020_80 = H;
rsi8020_중심선=(rsi8020_20+rsi8020_80)/2 ;
if rsi8020_80<rsi8020_80[1] Then
rsi8020_직선라인 = 1;
if rsi8020_20>rsi8020_20[1] Then
rsi8020_직선라인 = -1;
if rsi8020_80>rsi8020_80[1] Then
rsi8020_직선라인 = 1;
if rsi8020_20<rsi8020_20[1] Then
rsi8020_직선라인 = -1;
##################################
##### 3_ RSI 시스템_(75_25) #####
##### -Period(30) #####
##################################
input : Period52(30);
var:rsi7525(0),rsi7525_75(0),rsi7525_25(0),rsi7525_중심선(0),rsi7525_직선라인(0);
rsi7525 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period52)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period52)*100);
if rsi7525 <= 25 Then
rsi7525_25 = O;
if rsi7525 >= 75 Then
rsi7525_75 = H;
rsi7525_중심선=(rsi7525_25+rsi7525_75)/2 ;
if rsi7525_75<rsi7525_75[1] Then
rsi7525_직선라인 = 1;
if rsi7525_25>rsi7525_25[1] Then
rsi7525_직선라인 = -1;
if rsi7525_75>rsi7525_75[1] Then
rsi7525_직선라인 = 1;
if rsi7525_25<rsi7525_25[1] Then
rsi7525_직선라인 = -1;
2019-08-14
330
글번호 131148
답변완료
피라미딩 검증구간
아래수식은 첫번째 진입이후 변동폭이 0.50씩 상승할 때 마다 피라미딩이 되는데
첫번째 진입이후 1.00포인트 상승 이후부터 변동폭대로 피라미딩하고 싶습니다.
input : 추세확인구간(1.00),변동폭(0.50),수량(3);
항상 고맙습니다.
*********************************************************************************
input : 연속봉(5);
input : 변동폭(0.50),수량(3);
input : 손절1(50),익절1(300),TR1(150);
input : 손절2(50),익절2(300),TR2(150);
input : 손절3(50),익절3(300),TR3(150);
Array : EP[30](0);
if MarketPosition == 0 and accumN(iff(C>O,1,0),연속봉) == 연속봉 and ExitDate(1) != sdate then
buy("b1");
if MarketPosition == 1 Then
{
EP[MaxEntries] = LatestEntryPrice(0);
if MaxEntries == 1 and MaxContracts < 수량 and NextBarOpen < LatestEntryPrice(0)+변동폭 Then
buy("b2",AtStop,LatestEntryPrice(0)+변동폭);
if MaxEntries == 2 and MaxContracts < 수량 and NextBarOpen < LatestEntryPrice(0)+변동폭 Then
buy("b3",AtStop,LatestEntryPrice(0)+변동폭);
if MaxEntries >= 1 and EP[1] > 0 Then
{
ExitLong("bl1",AtStop,EP[1]-PriceScale*손절1,"b1");
ExitLong("bp1",Atlimit,EP[1]+PriceScale*익절1,"b1");
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR1,"b1");
}
if MaxEntries >= 2 and EP[2] > 0 Then
{
ExitLong("bl2",AtStop,EP[2]-PriceScale*손절2,"b2");
ExitLong("bp2",Atlimit,EP[2]+PriceScale*익절2,"b2");
ExitLong("btr2",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR2,"b2");
}
if MaxEntries >= 3 and EP[3] > 0 Then
{
ExitLong("bl3",AtStop,EP[3]-PriceScale*손절3,"b3");
ExitLong("bp3",Atlimit,EP[3]+PriceScale*익절3,"b3");
ExitLong("btr3",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR3,"b3");
}
}
2019-11-01
263
글번호 131147
답변완료
제작
차트창속성 날짜구분선을 체크하면 당일시작에 세로선이 만들어집니다.
특정 다른 시간에서도(시간,분까지,칼라) 세로선이 그어지게 부탁드립니다.
세로선이 안되면, 다른 형태로 만들어주세요.
2019-08-13
247
글번호 131146
답변완료
질문드립니다
안녕하세요
국내선물 3분봉상에서 일봉 5,10,20이평선의 당일, 전일, 전전일 수치를 구하는 방법을 알려주시면 감사하겠습니다.
수고하세요
2019-08-13
261
글번호 131145
답변완료
수정 부탁드립니다
아래의 지표식으로 예스글로벌에 적용시 차트에 아무것도 나오지않아
수정 부탁드립니다.
수식에 에러도 없는듯하고 적용은 되는데
화면에 구현이 안됩니다
input : period(9) , 횡보율 (0.5);
var1*ema(c,period+1);
if var1 > var1[1]*(1+횡보율/100) then plot1(var1, "이동평균1", red); else if var1 < var1[1]*(1-횡보율/100) then plot1 (var1 , "이동평균1", blue); else plot1 (var1, "이동평균1", cyan);
var2*ema(c,period+2);
if var2 > var2[1]*(1+횡보율/100) then plot2(var2, "이동평균2", red); else if var2 < var2[1]*(1-횡보율/100) then plot2 (var2 , "이동평균2", blue); else plot2 (var2, "이동평균2", cyan);
var3*ema(c,period+3);
if Var3 > Var3[1]*(1+횡보율/100) then plot3(Var3, "이동평균3", red); else if Var3 < var3[1]*(1-횡보율/100) then plot3 (var3 , "이동평균3", blue); else plot3 (var3, "이동평균3", cyan);
var4*ema(c,period+4);
if Var4 > Var4[1]*(1+횡보율/100) then plot4(Var4, "이동평균4", red); else if Var4 < var4[1]*(1-횡보율/100) then plot4 (var4 , "이동평균4", blue); else plot4 (var4, "이동평균4", cyan);
var5*ema(c,period+5);
if Var5 > Var5[1]*(1+횡보율/100) then plot5(Var5, "이동평균5", red); else if Var5 < var5[1]*(1-횡보율/100) then plot5 (var5 , "이동평균5", blue); else plot5 (var5, "이동평균5", cyan);
var6*ema(c,period+6);
if Var6 > Var6[1]*(1+횡보율/100) then plot6(Var6, "이동평균6", red); else if Var6 < var6[1]*(1-횡보율/100) then plot6 (var6 , "이동평균6", blue); else plot6 (var6, "이동평균6", cyan);
var7*ema(c,period+7);
if Var7 > Var7[1]*(1+횡보율/100) then plot7(Var7, "이동평균7", red); else if Var7 < var7[1]*(1-횡보율/100) then plot7 (var7, "이동평균7", blue); else plot7 (var7, "이동평균7", cyan);
var8*ema(c,period+8);
if Var8 > Var8[1]*(1+횡보율/100) then plot8(Var8, "이동평균8", red); else if Var8 < var8[1]*(1-횡보율/100) then plot8 (var8 , "이동평균8", blue); else plot8 (var8, "이동평균8", cyan);
var9*ema(c,period+9);
if Var9 > Var9[1]*(1+횡보율/100) then plot9(Var9, "이동평균9", red); else if Var9 < var9[1]*(1-횡보율/100) then plot9 (var9, "이동평균9", blue); else plot9 (var9, "이동평균9", cyan);
var10*ema(c,period+10);
if Var10 > var10[1]*(1+횡보율/100) then plot10(Var10, "이동평균10", red); else if var10 < var10[1]*(1-횡보율/100) then plot10 (var10 , "이동평균10", blue); else plot10 (var10, "이동평균10", cyan);
var11*ema(c,period+11);
if var11 > var11[1]*(1+횡보율/100) then plot11(var11, "이동평균11", red); else if var11 < var11[1]*(1-횡보율/100) then plot11 (var11 , "이동평균11", blue); else plot11 (var11, "이동평균11", cyan);
var12*ema(c,period+12);
if var12 > var1[1]*(1+횡보율/100) then plot12(var12, "이동평균12", red); else if var12 < var12[1]*(1-횡보율/100) then plot12 (var12 , "이동평균12", blue); else plot12 (var12, "이동평균12", cyan);
var13*ema(c,period+13);
if var13 > var1[1]*(1+횡보율/100) then plot13(var13, "이동평균13", red); else if var13 < var13[1]*(1-횡보율/100) then plot13 (var13 , "이동평균13", blue); else plot13 (var13, "이동평균13", cyan);
var14*ema(c,period+14);
if var14 > var1[1]*(1+횡보율/100) then plot14(var14, "이동평균14", red); else if var14 < var14[1]*(1-횡보율/100) then plot14 (var14 , "이동평균14", blue); else plot14 (var14, "이동평균14", cyan);
var15*ema(c,period+15);
if var15 > var1[1]*(1+횡보율/100) then plot15(var15, "이동평균15", red); else if var15 < var15[1]*(1-횡보율/100) then plot15 (var15 , "이동평균15", blue); else plot15 (var15, "이동평균15", cyan);
var16*ema(c,period+16);
if var16 > var1[1]*(1+횡보율/100) then plot16(var16, "이동평균16", red); else if var16 < var16[1]*(1-횡보율/100) then plot16 (var16 , "이동평균16", blue); else plot16 (var16, "이동평균16", cyan);
var17*ema(c,period+17);
if var17 > var1[1]*(1+횡보율/100) then plot17(var17, "이동평균17", red); else if var17 < var17[1]*(1-횡보율/100) then plot17 (var17 , "이동평균17", blue); else plot17 (var17, "이동평균17", cyan);
var18*ema(c,period+18);
if var18 > var1[1]*(1+횡보율/100) then plot18(var18, "이동평균18", red); else if var18 < var18[1]*(1-횡보율/100) then plot18 (var18 , "이동평균18", blue); else plot18 (var18, "이동평균18", cyan);
var19*ema(c,period+19);
if var19 > var1[1]*(1+횡보율/100) then plot19(var19, "이동평균19", red); else if var19 < var19[1]*(1-횡보율/100) then plot19 (var19 , "이동평균19", blue); else plot19 (var19, "이동평균19", cyan);
var20*ema(c,period+20);
if var20 > var1[1]*(1+횡보율/100) then plot20(var20, "이동평균20", red); else if var20 < var20[1]*(1-횡보율/100) then plot20 (var20 , "이동평균20", blue); else plot20 (var20, "이동평균20", cyan);
var21*ema(c,period+21);
if var21 > var1[1]*(1+횡보율/100) then plot21(var21, "이동평균21", red); else if var21 < var21[1]*(1-횡보율/100) then plot21(var21 , "이동평균21", blue); else plot21 (var21, "이동평균21", cyan);
var22*ema(c,period+22);
if var22 > var1[1]*(1+횡보율/100) then plot22(var22, "이동평균22", red); else if var22 < var22[1]*(1-횡보율/100) then plot22 (var22 , "이동평균22", blue); else plot22 (var22, "이동평균22", cyan);
var23*ema(c,period+23);
if var23 > var1[1]*(1+횡보율/100) then plot23(var23, "이동평균23", red); else if var23 < var23[1]*(1-횡보율/100) then plot23 (var23 , "이동평균23", blue); else plot23 (var23, "이동평균23", cyan);
var24*ema(c,period+24);
if var24 > var1[1]*(1+횡보율/100) then plot24(var24, "이동평균24", red); else if var24 < var24[1]*(1-횡보율/100) then plot24 (var24 , "이동평균24", blue); else plot24 (var24, "이동평균24", cyan);
var25*ema(c,period+25);
if var25 > var1[1]*(1+횡보율/100) then plot25(var25, "이동평균25", red); else if var25 < var25[1]*(1-횡보율/100) then plot25 (var25 , "이동평균25", blue); else plot25 (var25, "이동평균25", cyan);
var26*ema(c,period+26);
if var26 > var1[1]*(1+횡보율/100) then plot26(var26, "이동평균26", red); else if var26 < var26[1]*(1-횡보율/100) then plot26 (var26 , "이동평균26", blue); else plot26 (var26, "이동평균26", cyan);
var27*ema(c,period+27);
if var27 > var1[1]*(1+횡보율/100) then plot27(var27, "이동평균27", red); else if var27 < var27[1]*(1-횡보율/100) then plot27 (var27 , "이동평균27", blue); else plot27 (var27, "이동평균27", cyan);
var28*ema(c,period+28);
if var28 > var1[1]*(1+횡보율/100) then plot28(var28, "이동평균28", red); else if var28 < var28[1]*(1-횡보율/100) then plot28 (var28 , "이동평균28", blue); else plot28 (var28, "이동평균28", cyan);
var29*ema(c,period+29);
if var29 > var1[1]*(1+횡보율/100) then plot29(var29, "이동평균29", red); else if var29 < var29[1]*(1-횡보율/100) then plot29 (var29 , "이동평균29", blue); else plot29 (var29, "이동평균29", cyan);
var30*ema(c,period+30);
if var30 > var1[1]*(1+횡보율/100) then plot30(var30, "이동평균30", red); else if var30 < var30[1]*(1-횡보율/100) then plot30 (var30 , "이동평균30", blue); else plot30 (var30, "이동평균30", cyan);
2019-08-13
226
글번호 131144
답변완료
해석 부탁드립니다.
안녕하세요?
아래의 1,2번 문장의 해석을 부탁드립니다.. 가능하면 자세하게 부탁드립니다.
1번 if SwingLow(1,L,Left,right,left+right+1) != -1 Then{
2번 SL1 = Text_New(Sdate[Right],stime[Right],L[right]-PriceScale,);
Text_SetColor(SL1,BLUE);
2019-08-14
245
글번호 131141
답변완료
선 그릴 수 있을까요
더운데 수고하십니다...
원하는 시간에서 20선의 값으로 수평선을 그릴 수 있는지요... 추가로 선 굵기도 조절이 가능했으면 합니다.
예를 들어 10시가 되면, 당일 수평선이 그려지는데 10시에서 각 이평선의 값이 나오는데 그 중에 20이평의 값으로 수평선이 그어졌으면 합니다. 그 날 당일만.
2019-08-13
277
글번호 131139
답변완료
문의드립니다
1.아래 계산식을 수식으로 나타내보고 싶습니다.
2019-05-11 23시10분 보유 포지션이 있으면 청산 23시 20분까지 진입 금지
2019-05-18 23시10분 보유 포지션이 있으면 청산 23시 20분까지 진입 금지
2019-05-25 23시10분 보유 포지션이 있으면 청산 23시 20분까지 진입 금지
2019-05-30 00시00분 보유 포지션이 있으면 청산 00시 10분까지 진입 금지
2019-06-10 00시10분 보유 포지션이 있으면 청산 00시 20분까지 진입 금지
2019-06-17 00시10분 보유 포지션이 있으면 청산 00시 20분까지 진입 금지
2019-06-24 00시10분 보유 포지션이 있으면 청산 00시 20분까지 진입 금지
2. 위식에 미래데이터인 2019년 8월16일 조건을 더하면 실전에서 적용이 안되나요??
2019-08-13
261
글번호 131138
답변완료
문의합니다.
수고하십니다.
아래수식을
StochasticsK라인이 plot3(var1);라인을
상향매수 하향매도 신호 부탁드립니다.
Input : Period(12), Period1(5), Period2(5);
value1 = StochasticsK(Period,Period1);
value2 = StochasticsD(Period,Period1,Period2);
if crossup(value1,value2) and countif(CrossDown(value1,value2),3) < 1 Then
var1 = value1;
if CrossDown(value1,value2) and countif(CrossUp(value1,value2),3) < 1 then
var1 = value1;
plot3(var1);
Plot1(StochasticsK(Period,Period1), "StochasticsK");
Plot2(StochasticsD(Period,Period1,Period2), "StochasticsD");
PlotBaseLine1(20, "기준선1");
PlotBaseLine2(80, "기준선2");
2019-08-13
310
글번호 131128