커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3199
글번호 230811
답변완료
문의
항상감사합니다
주신식에서 라인굵기,색도 알려주세요!
1]2]3]
4]는 라인이름 넣을수 있는 곳도 알려주세요
input : N(0);
Plot1(dayOpen(N), "시가");
Plot2(dayHigh(N), "고가");
Plot3(dayLow(N), "저가");
var : tx1(0),tx2(0),tx3(0);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
tx1 = Text_New_Self(sdate,sTime,DayOpen(N),"시가:"+NumToStr(DayOpen(N),2));
tx2 = Text_New_Self(sdate,sTime,DayHigh(N),"고가:"+NumToStr(DayHigh(N),2));
tx3 = Text_New_Self(sdate,sTime,DayLow(N),"저가:"+NumToStr(DayLow(N),2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
#텍스트색
Text_SetColor(tx1,RED);
Text_SetColor(tx2,RED);
Text_SetColor(tx3,RED);
#텍스트크기
Text_SetSize(tx1,10);
Text_SetSize(tx2,10);
Text_SetSize(tx3,10);
2
Inputs: Length1(5),Length2(20),Length3(60);
Variables: TLen1(0),TLen2(0),TLen3(0),TRIma1(0),TRIma2(0),TRIma3(0);
TLen1 = Ceiling((Length1 + 1) * .5);
TLen2 = Ceiling((Length2 + 1) * .5);
TLen3 = Ceiling((Length3 + 1) * .5);
TRIma1 = ma(ma(C, TLen1), TLen1);
TRIma2 = ma(ma(C, TLen2), TLen2);
TRIma3 = ma(ma(C, TLen3), TLen3);
Plot1(Trima1, "5일삼각가중");
Plot2(Trima2, "10일삼각가중");
Plot3(Trima3, "20일삼각가중");
var : tx1(0),tx2(0),tx3(0);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
tx1 = Text_New_Self(sdate,sTime,Trima1,"삼각5:"+NumToStr(Trima1,2));
tx2 = Text_New_Self(sdate,sTime,Trima2,"삼각10:"+NumToStr(Trima2,2));
tx3 = Text_New_Self(sdate,sTime,Trima3,"삼각20:"+NumToStr(Trima3,2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
#텍스트색
Text_SetColor(tx1,RED);
Text_SetColor(tx2,RED);
Text_SetColor(tx3,RED);
#텍스트크기
Text_SetSize(tx1,10);
Text_SetSize(tx2,10);
Text_SetSize(tx3,10);
3
Input : Period1(5);
var1 = wma(C,Period1);
Plot1(var1, "가중이동평균1");
var : tx1(0);
Text_Delete(tx1);
tx1 = Text_New_Self(sdate,sTime,var1,"가중이평:"+NumToStr(var1,2));
Text_SetStyle(tx1,0,1);
#텍스트색
Text_SetColor(tx1,RED);
#텍스트크기
Text_SetSize(tx1,10);
__________________________________________
4]
#Input : 기준1(*), 이격1(*), 이격2(*),이격3(*), AA1(*);
Input : 기준1(0), 이격1(0), 이격2(0),이격3(0), AA1(0);
var : tx1(0),tx2(0),tx3(0),tx4(0);
var : tx5(0),tx6(0),tx7(0),tx8(0);
var3 = 기준1;
var1=0;
if var1 <= AA1 Then
{
plotbaseline1(Var3+이격3,"1+0.6");
plotbaseline2(Var3,"기준1");
plotbaseline3(Var3-이격3,"1-0.6");
plotbaseline4(Var3-이격2,"1-1.25");
var1 = var1 +1 ;
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
tx1 = Text_New_Self(sDate,sTime,Var3+이격3,"1+0.6"+NumToStr(Var3-(이격1*1)+이격3,2));
tx2 = Text_New_Self(sDate,sTime,Var3,"기준1"+NumToStr(Var3-(이격1*1),2));
tx3 = Text_New_Self(sDate,sTime,Var3-이격3,"1-0.6"+NumToStr(Var3-(이격1*1)-이격3,2));
tx4 = Text_New_Self(sDate,sTime,Var3-이격2,"1-1.25"+NumToStr(Var3-(이격1*1)-이격2,2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
Text_SetStyle(tx4,0,1);
#텍스트색
Text_SetColor(tx1,RED);
Text_SetColor(tx2,RED);
Text_SetColor(tx3,RED);
Text_SetColor(tx4,RED);
#텍스트크기
Text_SetSize(tx1,10);
Text_SetSize(tx2,10);
Text_SetSize(tx3,10);
Text_SetSize(tx4,10);
}
if var1 <= AA1 Then {
plotbaseline5(Var3-(이격1*1)+이격3,"2+0.6");
plotbaseline6(Var3-(이격1*1),"기준2");
plotbaseline7(Var3-(이격1*1)-이격3,"2-0.6");
plotbaseline8(Var3-(이격1*1)-이격2,"2-1.25");
var1 = var1 +1 ;
Text_Delete(tx5);
Text_Delete(tx6);
Text_Delete(tx7);
Text_Delete(tx8);
tx5 = Text_New_Self(sDate,sTime,Var3-(이격1*1)+이격3,"2+0.6"+NumToStr(Var3-(이격1*1)+이격3,2));
tx6 = Text_New_Self(sDate,sTime,Var3-(이격1*1),"기준2"+NumToStr(Var3-(이격1*1),2));
tx7 = Text_New_Self(sDate,sTime,Var3-(이격1*1)-이격3,"2-0.6"+NumToStr(Var3-(이격1*1)-이격3,2));
tx8 = Text_New_Self(sDate,sTime,Var3-(이격1*1)-이격2,"2-1.25"+NumToStr(Var3-(이격1*1)-이격2,2));
Text_SetStyle(tx5,0,1);
Text_SetStyle(tx6,0,1);
Text_SetStyle(tx7,0,1);
Text_SetStyle(tx8,0,1);
#텍스트색
Text_SetColor(tx5,RED);
Text_SetColor(tx6,RED);
Text_SetColor(tx7,RED);
Text_SetColor(tx8,RED);
#텍스트크기
Text_SetSize(tx5,10);
Text_SetSize(tx6,10);
Text_SetSize(tx7,10);
Text_SetSize(tx8,10);
}
2021-10-14
1031
글번호 152873
답변완료
시스템식 문의 드립니다.
항상 도움 주셔서 감사합니다.
아래 청산조건에 관한 시스템식 부탁드립니다.
요청식1)
종목 : 해외선물
차트 : 틱 100차트
매수조건 : 20이평이 100이평 상향 돌파시 매수
매수청산 :
매수청산 요청식 1번: 매수진입후 캔들이 5개 이상 지나고(생성후) 진입효율이 30 이하면 매수청산
매수청산 요청식 2번: 매수진입후 캔들이 5개 이상 지나고(생성후) 진입효율이 70 이상면 매수청산
매수청산 요청식 3번: 매수진입후 캔들이 5개 이상 지나고(생성후) 진입효율이 30 이하인 적이 있었으면 진입효율이 70이상이 되면 매수청산
매수청산 요청식 4번: 매수진입후 캔들이 5개 이상 지나고(생성후) 진입효율이 70 이상인 적이 있었으면 진입효율이 30이하가 되면 매수청산
--------------------------------------------------------------------------------
매도조건 : 20이평이 100이평 하향 돌파시 매도
매도청산 :
매도청산 요청식 1번: 매도진입후 미청산포지션 손실이 -30point 이상 이었던 적이 있었으면 수익이 10point 이상이 발생하면 매도청산
매도청산 요청식 2번: 매도진입후 미청산포지션 수익이 +30point 이상 이었던 적이 있었으면 손실이 -10point 이상이 발생하면 매도청산
매수 매도 각기 다른 청산조건 입니다.
트레일링 스탑이랑 비슷한데..
시물레이션에서 트레일링 스탑이 잘 안되는 것 같아서요.
시스템식 부탁드립니다.
질문1)
시스템식을 만들어서 차트에 적용해서
실시간으로 운영한 시스템 성능과
시간이 지난 후 실시간 차트에 적용한 시스템 성능과
차이가 많이 발생하네요.
이거는 어쩔수 없는 거겠죠?
답변 부탁드립니다.
감사합니다.
2021-10-14
1049
글번호 152872
답변완료
지수갭1
data1 kospi200 선물
data2 kospi200 지수
kospi200갭 플러스(당일 kospi200 시가 - 월물옵션 첫날 kospi200지수 종가의 결과가 플러스)
kospi200갭 마이너스(당일 kospi200 시가 - 월물옵션 첫날 kospi200지수 종가의 결과가 마이너스)
아래 수식을 완성해주십시요.
*************************************************************************
if 5.50 > kospi200갭 플러스 > 2.50 and c > dayopen + 1.00 then
buy();
if -2.50 > kospi200갭 마이너스 > -5.50 and c > dayopen + 1.00 then
buy();
2021-12-16
958
글번호 152871
답변완료
수식 추가 부탁드립니다.
안녕하세요.
아래 수식으로 포지션을 운용하면 장 마지막봉은 수동으로 진입해야하는데 거래시간을
9시00분 부터 15시35분 미만 까지로 해서 동시호가 전에 주문이 자동으로 이루어 질수
있도록 수식 부탁드립니다.
감사합니다.
Var1=DayHigh-DayLow;
Var2=abs(Dayopen-c);
Var8=(4+1+3)/3;
Value1=DayHigh(1)-DayLow(1);
Var13=DayOpen-DayClose(1);
Var14=DayHigh-c;
Var15=c-DayLow;
Condition1=Var1< Var8*Var2;
Condition2=Var2*Var8<Var1&&Var2*4>Var1;
if DayIndex==accumN(iff(dayindex==0,accumN(dayIndex,2),0),dayindex+1)
Then {
if iff(Value1<-Var13,0,
iff(Value1<Var13,iff(Condition2,0,Var15/Var14<2/3),
Condition2&&Var14/Var15>0)) then Sell(); }
SetStopProfittarget(50.6,PointStop);
SetStopLoss(10.6,PointStop);
2021-10-14
857
글번호 152862
답변완료
식 변환 문의
수고하십니다.
아래 지표식을 data2에 적용하려면 어떻게 수정하여야 하는지요?
수고하세요.
######################################
Var : 전일중간값(0), TLp3st(0);
var : tp3st(0);
input : text두께1(15),text색상1(black) ;
input :추세선두께1(1);
전일중간값 = (DayHigh(1)+DayLow(1))/2 ;
##숫자 표시
Text_Delete(tp3st);
tp3st = Text_New(sdate,stime,전일중간값,NumToStr(전일중간값,2));
Text_SetSize(tp3st,text두께1);
Text_SetColor(tp3st,text색상1);
if bdate != bdate[1] then
{
##라인 표시
TL_Delete(TLp3st);
TLp3st = TL_new(sdate,stime,전일중간값, NextBarSdate,NextBarStime,전일중간값);
TL_setExtRight(TLp3st,true);
TL_setExtLeft(TLp3st,true);
TL_SetSize(TLp3st,추세선두께1);
TL_SetColor(TLp3st,BLACk);//추세선색상1);
}
2021-10-14
1038
글번호 152861
답변완료
부탁 드립니다.
도움에 감사 드립니다.
타주기 (분봉용) 수식 부탁 드리고자 합니다.
미리 감사 드립니다.
input : P(100);
var : cnt(0),LL(0),HH(0),a(0),ai(0),b(0),bi(0);
LL = Lowest(L,P);
HH = highest(H,P);
ai = 0;
bi = 0;
Condition1 = False;
Condition2 = False;
For cnt = 0 to P-1
{
if Condition1 == False and L[cnt] == LL Then
{
Condition1 = true;
ai = L-LL[cnt];
}
if Condition2 == False and H[cnt] == HH Then
{
Condition2 = true;
bi = H-HH[cnt];
}
}
a = 100*((P-1)-((ai)))/(P-1);
b = 100*((P-1)-((bi)))/(P-1);
참고용 수식)
input : Ntime1(60);
var : cnt(0),a(0),ai(0),b(0),bi(0);
var : H1(0),L1(0),sum(0),mav(0);
var : TF(0),S1(0),D1(0),TM(0),idx(0);
Array : HH[101](0),LL[101](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 100
2021-10-13
893
글번호 152860
답변완료
문의
항상수고많으십니다
몇개만 보여주시면됩니다.
1.굵기/색/글씨or문자(글씨의 예:100선orㅁㅁ)
3가지 대입법 부탁드립니다.
Input : 기준1(*), 이격1(*), 이격2(*),이격3(*), AA1(*);
var3 = 기준1;
var1=0;
if var1 <= AA1 Then {
plotbaseline1(Var3+이격3,"1+0.6");
plotbaseline2(Var3,"기준1");
plotbaseline3(Var3-이격3,"1-0.6");
plotbaseline4(Var3-이격2,"1-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline5(Var3-(이격1*1)+이격3,"2+0.6");
plotbaseline6(Var3-(이격1*1),"기준2");
plotbaseline7(Var3-(이격1*1)-이격3,"2-0.6");
plotbaseline8(Var3-(이격1*1)-이격2,"2-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline9(Var3-(이격1*2)+이격3,"3+0.6");
plotbaseline10(Var3-(이격1*2),"기준3");
plotbaseline11(Var3-(이격1*2)-이격3,"3-0.6");
plotbaseline12(Var3-(이격1*2)-이격2,"3-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline13(Var3-(이격1*3)+이격3,"4+0.6");
plotbaseline14(Var3-(이격1*3),"기준4");
plotbaseline15(Var3-(이격1*3)-이격3,"4-0.6");
plotbaseline16(Var3-(이격1*3)-이격2,"4-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline17(Var3-(이격1*4)+이격3,"5+0.6");
plotbaseline18(Var3-(이격1*4),"기준5");
plotbaseline19(Var3-(이격1*4)-이격3,"5-0.6");
plotbaseline20(Var3-(이격1*4)-이격2,"5-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline21(Var3-(이격1*5)+이격3,"6+0.6");
plotbaseline22(Var3-(이격1*5),"기준6");
plotbaseline23(Var3-(이격1*5)-이격3,"6-0.6");
plotbaseline24(Var3-(이격1*5)-이격2,"6-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline25(Var3-(이격1*6)+이격3,"6+0.6");
plotbaseline26(Var3-(이격1*6),"기준6");
plotbaseline27(Var3-(이격1*6)-이격3,"6-0.6");
plotbaseline28(Var3-(이격1*6)-이격2,"6-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline29(Var3-(이격1*7)+이격3,"6+0.6");
plotbaseline30(Var3-(이격1*7),"기준6");
plotbaseline31(Var3-(이격1*7)-이격3,"6-0.6");
plotbaseline32(Var3-(이격1*7)-이격2,"6-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline33(Var3-(이격1*8)+이격3,"7+0.6");
plotbaseline34(Var3-(이격1*8),"기준7");
plotbaseline35(Var3-(이격1*8)-이격3,"7-0.6");
plotbaseline36(Var3-(이격1*8)-이격2,"7-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline37(Var3-(이격1*9)+이격3,"8+0.6");
plotbaseline38(Var3-(이격1*9),"기준8");
plotbaseline39(Var3-(이격1*9)-이격3,"8-0.6");
plotbaseline40(Var3-(이격1*9)-이격2,"8-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline41(Var3-(이격1*10)+이격3,"9+0.6");
plotbaseline42(Var3-(이격1*10),"기준9");
plotbaseline43(Var3-(이격1*10)-이격3,"9-0.6");
plotbaseline44(Var3-(이격1*10)-이격2,"9-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline45(Var3-(이격1*11)+이격3,"10+0.6");
plotbaseline46(Var3-(이격1*11),"기준10");
plotbaseline47(Var3-(이격1*11)-이격3,"10-0.6");
plotbaseline48(Var3-(이격1*11)-이격2,"10-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline49(Var3-(이격1*12)+이격3,"11+0.6");
plotbaseline50(Var3-(이격1*12),"기준11");
plotbaseline51(Var3-(이격1*12)-이격3,"11-0.6");
plotbaseline52(Var3-(이격1*12)-이격2,"11-1.25");
var1 = var1 +1 ;
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline53(Var3-(이격1*13)+이격3,"12+0.6");
plotbaseline54(Var3-(이격1*13),"기준12");
plotbaseline55(Var3-(이격1*13)-이격3,"12-0.6");
plotbaseline56(Var3-(이격1*13)-이격2,"12-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline57(Var3-(이격1*14)+이격3,"13+0.6");
plotbaseline58(Var3-(이격1*14),"기준13");
plotbaseline59(Var3-(이격1*14)-이격3,"13-0.6");
plotbaseline60(Var3-(이격1*14)-이격2,"13-1.25");
var1 = var1 +1 ;
}
if var1 <= AA1 Then {
plotbaseline61(Var3-(이격1*15)+이격3,"14+0.6");
plotbaseline62(Var3-(이격1*15),"기준14");
plotbaseline63(Var3-(이격1*15)-이격3,"14-0.6");
plotbaseline64(Var3-(이격1*15)-이격2,"14-1.25");
var1 = var1 +1 ;
}
2021-10-13
1075
글번호 152859
답변완료
문의
항상감사합니다.
1.글씨-색//굵 기는 어디에 넣나요?
넣어보니!
변수가 2~4개 필요하다고 해서요
1]식은 저가글씨만 나와요?
2]식은 1/2/3으로 바꾸었더니 나왔어요!
1
input : N(0);
Plot1(dayOpen(N), "시가");
Plot2(dayHigh(N), "고가");
Plot3(dayLow(N), "저가");
var : tx1(0),tx2(0),tx3(0);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
tx1 = Text_New_Self(sdate,sTime,DayOpen(N),"시가:"+NumToStr(DayOpen(N),2));
tx2 = Text_New_Self(sdate,sTime,DayOpen(N),"고가:"+NumToStr(DayHigh(N),2));
tx3 = Text_New_Self(sdate,sTime,DayOpen(N),"저가:"+NumToStr(DayLow(N),2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
2
Inputs: Length1(5),Length2(20),Length3(60);
Variables: TLen1(0),TLen2(0),TLen3(0),TRIma1(0),TRIma2(0),TRIma3(0);
TLen1 = Ceiling((Length1 + 1) * .5);
TLen2 = Ceiling((Length2 + 1) * .5);
TLen3 = Ceiling((Length3 + 1) * .5);
TRIma1 = ma(ma(C, TLen1), TLen1);
TRIma2 = ma(ma(C, TLen2), TLen2);
TRIma3 = ma(ma(C, TLen3), TLen3);
Plot1(Trima1, "5일삼각가중");
Plot2(Trima2, "10일삼각가중");
Plot3(Trima3, "20일삼각가중");
var : tx1(0),tx2(0),tx3(0);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
tx1 = Text_New_Self(sdate,sTime,Trima1,"삼각5:"+NumToStr(Trima1,2));
tx2 = Text_New_Self(sdate,sTime,Trima2,"삼각10:"+NumToStr(Trima2,2));
tx3 = Text_New_Self(sdate,sTime,Trima3,"삼각20:"+NumToStr(Trima3,2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,1);
Text_SetStyle(tx3,0,1);
4
Input : Period1(5);
var1 = wma(C,Period1);
Plot1(var1, "가중이동평균1");
var : tx1(0);
Text_Delete(tx1);
tx1 = Text_New_Self(sdate,sTime,var1,"가중이평:"+NumToStr(var1,2));
Text_SetStyle(tx1,0,1);
2021-10-13
1264
글번호 152858
답변완료
지표 수식 변경문의 부탁드립니다
m2=ma(c,240,단순);
x3=sum(1)-valuewhen(1,m2>=h ,sum(1));
x4=1<=x3 && x3<=40;
240일선을 캔들이 고점을 돌파했을때 캔들 40개까지만 막대만 나오게 가능할까요?
2021-10-13
1298
글번호 152857