커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1646
글번호 230811
답변완료
부탁드립니다
$,안녕하세요
아래식은 국내 옵션 만기일주기 로직입니다
이식을 해외선물 항생지수선물 만기일주기 로직으로 수정요청드립니다.
input : N(5);
var : idx(0),HH(0),LL(0),RR(0),T(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
var : tx7(0),tx8(0),tx9(0),tx10(0),tx11(0),tx12(0);
var : month(0),nday(0),week(0),EX(False);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
Week = DayOfWeek(date);
if ( nday >= 8 and nday <= 14 and week == 4) Then
EX = true;
Else
EX = False;
if EX == False and EX[1] == true Then
{
HH = H;
LL = L;
idx = 0;
}
idx = idx+1;
if idx <= N Then
{
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
RR = HH-LL;
}
if HH > 0 and LL > 0 Then
{
plot1(HH,"최고",IFf(T == 1,MAGENTA,MAGENTA));
plot2(HH+RR*1,"최고1",IFf(T == 1,MAGENTA,MAGENTA));
plot3(HH+RR*2,"최고2",IFf(T == 1,MAGENTA,MAGENTA));
plot4(HH+RR*3,"최고3",IFf(T == 1,MAGENTA,MAGENTA));
plot5(HH+RR*4,"최고4",IFf(T == 1,MAGENTA,MAGENTA));
plot6(HH+RR*5,"최고5",IFf(T == 1,MAGENTA,MAGENTA));
plot7(HH+RR*6,"최고6",IFf(T == 1,MAGENTA,MAGENTA));
plot8(LL,"최저",IFf(T == 1,BLUE,BLUE));
plot9(LL-RR*1,"최저1",IFf(T == 1,BLUE,BLUE));
plot10(LL-RR*2,"최저2",IFf(T == 1,BLUE,BLUE));
plot11(LL-RR*3,"최저3",IFf(T == 1,BLUE,BLUE));
plot12(LL-RR*4,"최저4",IFf(T == 1,BLUE,BLUE));
plot13(LL-RR*5,"최저5",IFf(T == 1,BLUE,BLUE));
plot14(LL-RR*6,"최저6",IFf(T == 1,BLUE,BLUE));
plot15((HH+LL)/2);
plot16((HH+(HH+RR*1))/2);
plot17((LL+(LL-RR*1))/2);
plot18(((HH+RR*1)+(HH+RR*2))/2);
plot19(((LL-RR*1)+(LL-RR*2))/2);
plot20(((HH+RR*2)+(HH+RR*3))/2);
plot21(((LL-RR*2)+(LL-RR*3))/2);
plot22(((HH+RR*3)+(HH+RR*4))/2);
plot23(((LL-RR*3)+(LL-RR*4))/2);
plot24(((HH+RR*4)+(HH+RR*5))/2);
plot25(((LL-RR*4)+(LL-RR*5))/2);
plot26(((HH+RR*5)+(HH+RR*6))/2);
plot27(((LL-RR*5)+(LL-RR*6))/2);
if idx <= N then{
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
Text_Delete(tx7);
Text_Delete(tx8);
Text_Delete(tx9);
Text_Delete(tx10);
Text_Delete(tx11);
Text_Delete(tx12);
tx1 = Text_New(sdate,stime,HH," 최고:"+NumToStr(HH,2));
tx2 = Text_New(sdate,stime,HH+RR*1," 최고1:"+NumToStr(HH+RR*1,2));
tx3 = Text_New(sdate,stime,HH+RR*2," 최고2:"+NumToStr(HH+RR*2,2));
tx4 = Text_New(sdate,stime,HH+RR*3," 최고3:"+NumToStr(HH+RR*3,2));
tx5 = Text_New(sdate,stime,HH+RR*4," 최고4:"+NumToStr(HH+RR*4,2));
tx6 = Text_New(sdate,stime,HH+RR*5," 최고5:"+NumToStr(HH+RR*5,2));
tx7 = Text_New(sdate,stime,LL," 최저:"+NumToStr(LL,2));
tx8 = Text_New(sdate,stime,LL-RR*1," 최저1:"+NumToStr(LL-RR*1,2));
tx9 = Text_New(sdate,stime,LL-RR*2," 최저2:"+NumToStr(LL-RR*2,2));
tx10 = Text_New(sdate,stime,LL-RR*3," 최저3:"+NumToStr(LL-RR*3,2));
tx11 = Text_New(sdate,stime,LL-RR*4," 최저4:"+NumToStr(LL-RR*4,2));
tx12 = Text_New(sdate,stime,LL-RR*5," 최저5:"+NumToStr(LL-RR*5,2));
Text_SetStyle(tx1,5,2);
Text_SetStyle(tx2,5,2);
Text_SetStyle(tx3,5,2);
Text_SetStyle(tx4,5,2);
Text_SetStyle(tx5,5,2);
Text_SetStyle(tx6,5,2);
Text_SetStyle(tx7,5,2);
Text_SetStyle(tx8,5,2);
Text_SetStyle(tx9,5,2);
Text_SetStyle(tx10,5,2);
Text_SetStyle(tx11,5,2);
Text_SetStyle(tx12,5,2);
Text_SetColor(tx1,IFf(T == 1,RED,RED));
Text_SetColor(tx2,IFf(T == 1,RED,RED));
Text_SetColor(tx3,IFf(T == 1,MAGENTA,RED));
Text_SetColor(tx4,IFf(T == 1,MAGENTA,RED));
Text_SetColor(tx5,IFf(T == 1,MAGENTA,RED));
Text_SetColor(tx6,IFf(T == 1,MAGENTA,RED));
Text_SetColor(tx7,IFf(T == 1,BLUE,BLUE));
Text_SetColor(tx8,IFf(T == 1,MAGENTA,BLUE));
Text_SetColor(tx9,IFf(T == 1,MAGENTA,BLUE));
Text_SetColor(tx10,IFf(T == 1,MAGENTA,BLUE));
Text_SetColor(tx11,IFf(T == 1,MAGENTA,BLUE));
Text_SetColor(tx12,IFf(T == 1,MAGENTA,BLUE));
}
else{
Text_SetLocation(tx1,sdate,stime,HH);
Text_SetLocation(tx2,sdate,stime,HH+RR*1);
Text_SetLocation(tx3,sdate,stime,HH+RR*2);
Text_SetLocation(tx4,sdate,stime,HH+RR*3);
Text_SetLocation(tx5,sdate,stime,HH+RR*4);
Text_SetLocation(tx6,sdate,stime,HH+RR*5);
Text_SetLocation(tx7,sdate,stime,LL);
Text_SetLocation(tx8,sdate,stime,LL-RR*1);
Text_SetLocation(tx9,sdate,stime,LL-RR*2);
Text_SetLocation(tx10,sdate,stime,LL-RR*3);
Text_SetLocation(tx11,sdate,stime,LL-RR*4);
Text_SetLocation(tx12,sdate,stime,LL-RR*5);
}
}
$$,고맙습니다
2021-07-08
1215
글번호 150616
답변완료
변경 부탁드립니다.
안녕하세요....글번호73111 에서 54번 변경부탁드립니다.
전전일 고점 + 전일 저점/2
plot 54 전2일 중심라인
수고하세요.....꾸벅
2021-07-08
982
글번호 150613
답변완료
문의드립니다!
안녕하세요!
아래수식에서 선의 두께를 조정할수있도록 부탁드립니다
매번 도움주심에 진심으로 감사드립니다!!!
------------------------------------------------------------------------
input : per1(6.5),per2(12.5),per3(25),per4(37.5),per5(50);
input : per6(62.5),per7(75),per8(57.5),per9(100),per10(125);
input : per11(150),per12(200),per13(250),per14(300);
var : DL(0);
var : TX1(0),TX2(0),TX3(0),TX4(0),TX5(0),TX6(0),TX7(0);
var : TX8(0),TX9(0),TX10(0),TX11(0),TX12(0),TX13(0),TX14(0);
if Bdate != Bdate[1] Then
{
DL = L;
var1 = DL*(1+per1/100);
var2 = DL*(1+per2/100);
var3 = DL*(1+per3/100);
var4 = DL*(1+per4/100);
var5 = DL*(1+per5/100);
var6 = DL*(1+per6/100);
var7 = DL*(1+per7/100);
var8 = DL*(1+per8/100);
var9 = DL*(1+per9/100);
var10 = DL*(1+per10/100);
var11 = DL*(1+per11/100);
var12 = DL*(1+per12/100);
var13 = DL*(1+per13/100);
var14 = DL*(1+per14/100);
Text_Delete(TX1);
Text_Delete(TX2);
Text_Delete(TX3);
Text_Delete(TX4);
Text_Delete(TX5);
Text_Delete(TX6);
Text_Delete(TX7);
Text_Delete(TX8);
Text_Delete(TX9);
Text_Delete(TX10);
Text_Delete(TX11);
Text_Delete(TX12);
Text_Delete(TX13);
Text_Delete(TX14);
TX1 = Text_New(NextBarSdate,NextBarStime,var1," "+NumToStr(per1,1)+"%/"+NumToStr(var1,2));
TX2 = Text_New(NextBarSdate,NextBarStime,var2," "+NumToStr(per2,1)+"%/"+NumToStr(var2,2));
TX3 = Text_New(NextBarSdate,NextBarStime,var3," "+NumToStr(per3,1)+"%/"+NumToStr(var3,2));
TX4 = Text_New(NextBarSdate,NextBarStime,var4," "+NumToStr(per4,1)+"%/"+NumToStr(var4,2));
TX5 = Text_New(NextBarSdate,NextBarStime,var5," "+NumToStr(per5,1)+"%/"+NumToStr(var5,2));
TX6 = Text_New(NextBarSdate,NextBarStime,var6," "+NumToStr(per6,1)+"%/"+NumToStr(var6,2));
TX7 = Text_New(NextBarSdate,NextBarStime,var7," "+NumToStr(per7,1)+"%/"+NumToStr(var7,2));
TX8 = Text_New(NextBarSdate,NextBarStime,var8," "+NumToStr(per8,1)+"%/"+NumToStr(var8,2));
TX9 = Text_New(NextBarSdate,NextBarStime,var9," "+NumToStr(per9,1)+"%/"+NumToStr(var9,2));
TX10 = Text_New(NextBarSdate,NextBarStime,var10," "+NumToStr(per10,1)+"%/"+NumToStr(var10,2));
TX11 = Text_New(NextBarSdate,NextBarStime,var11," "+NumToStr(per11,1)+"%/"+NumToStr(var11,2));
TX12 = Text_New(NextBarSdate,NextBarStime,var12," "+NumToStr(per12,1)+"%/"+NumToStr(var12,2));
TX13 = Text_New(NextBarSdate,NextBarStime,var13," "+NumToStr(per13,1)+"%/"+NumToStr(var13,2));
TX14 = Text_New(NextBarSdate,NextBarStime,var41," "+NumToStr(per14,1)+"%/"+NumToStr(var14,2));
Text_SetStyle(TX1,0,1);
Text_SetStyle(TX2,0,1);
Text_SetStyle(TX3,0,1);
Text_SetStyle(TX4,0,1);
Text_SetStyle(TX5,0,1);
Text_SetStyle(TX6,0,1);
Text_SetStyle(TX7,0,1);
Text_SetStyle(TX8,0,1);
Text_SetStyle(TX9,0,1);
Text_SetStyle(TX10,0,1);
Text_SetStyle(TX11,0,1);
Text_SetStyle(TX12,0,1);
Text_SetStyle(TX13,0,1);
Text_SetStyle(TX14,0,1);
}
Else
{
if L < DL Then
{
DL = L;
var1 = DL*(1+per1/100);
var2 = DL*(1+per2/100);
var3 = DL*(1+per3/100);
var4 = DL*(1+per4/100);
var5 = DL*(1+per5/100);
var6 = DL*(1+per6/100);
var7 = DL*(1+per7/100);
var8 = DL*(1+per8/100);
var9 = DL*(1+per9/100);
var10 = DL*(1+per10/100);
var11 = DL*(1+per11/100);
var12 = DL*(1+per12/100);
var13 = DL*(1+per13/100);
var14 = DL*(1+per14/100);
Text_SetString(TX1," "+NumToStr(per1,1)+"%/"+NumToStr(var1,2));
Text_SetString(TX2," "+NumToStr(per2,1)+"%/"+NumToStr(var2,2));
Text_SetString(TX3," "+NumToStr(per3,1)+"%/"+NumToStr(var3,2));
Text_SetString(TX4," "+NumToStr(per4,1)+"%/"+NumToStr(var4,2));
Text_SetString(TX5," "+NumToStr(per5,1)+"%/"+NumToStr(var5,2));
Text_SetString(TX6," "+NumToStr(per6,1)+"%/"+NumToStr(var6,2));
Text_SetString(TX7," "+NumToStr(per7,1)+"%/"+NumToStr(var7,2));
Text_SetString(TX8," "+NumToStr(per8,1)+"%/"+NumToStr(var8,2));
Text_SetString(TX9," "+NumToStr(per9,1)+"%/"+NumToStr(var9,2));
Text_SetString(TX10," "+NumToStr(per10,1)+"%/"+NumToStr(var10,2));
Text_SetString(TX11," "+NumToStr(per11,1)+"%/"+NumToStr(var11,2));
Text_SetString(TX12," "+NumToStr(per12,1)+"%/"+NumToStr(var12,2));
Text_SetString(TX13," "+NumToStr(per13,1)+"%/"+NumToStr(var13,2));
Text_SetString(TX14," "+NumToStr(per14,1)+"%/"+NumToStr(var14,2));
}
Text_SetLocation(TX1,NextBarSdate,NextBarStime,var1);
Text_SetLocation(TX2,NextBarSdate,NextBarStime,var2);
Text_SetLocation(TX3,NextBarSdate,NextBarStime,var3);
Text_SetLocation(TX4,NextBarSdate,NextBarStime,var4);
Text_SetLocation(TX5,NextBarSdate,NextBarStime,var5);
Text_SetLocation(TX6,NextBarSdate,NextBarStime,var6);
Text_SetLocation(TX7,NextBarSdate,NextBarStime,var7);
Text_SetLocation(TX8,NextBarSdate,NextBarStime,var8);
Text_SetLocation(TX9,NextBarSdate,NextBarStime,var9);
Text_SetLocation(TX10,NextBarSdate,NextBarStime,var10);
Text_SetLocation(TX11,NextBarSdate,NextBarStime,var11);
Text_SetLocation(TX12,NextBarSdate,NextBarStime,var12);
Text_SetLocation(TX13,NextBarSdate,NextBarStime,var13);
Text_SetLocation(TX14,NextBarSdate,NextBarStime,var14);
}
Plot1(var1,"당일저가+per1%");
Plot2(var2,"당일저가+per2%");
Plot3(var3,"당일저가+per3%");
Plot4(var4,"당일저가+per4%");
Plot5(var5,"당일저가+per5%");
Plot6(var6,"당일저가+per6%");
Plot7(var7,"당일저가+per7%");
Plot8(var8,"당일저가+per8%");
Plot9(var9,"당일저가+per9%");
Plot10(var10,"당일저가+per10%");
Plot11(var11,"당일저가+per11%");
Plot12(var12,"당일저가+per12%");
Plot13(var13,"당일저가+per13%");
Plot14(var14,"당일저가+per14%");
2021-07-08
872
글번호 150612
답변완료
수식 수정 좀 부탁 드립니다.
* 항상 많은 도움에 고맙습니다.
* 아래 수식에서 점찍기를 가장 최근 10개 까지만 찍도록 수식 좀 부탁 드립니다.
즉 10개 이전 점찍기는 안 필요 합니다. 표시도 안도도록 요청좀 드립니다.
<점찍기 사용 할 식 >
## 점찍기
input : 간격(5),갯수(5),색상(BLACk);
input: bb(25) ;
var : T(0),cnt(0);
var : HH1(0),HI1(0),HI2(0),LL1(0),LI1(0),LI2(0);
var : LD(0),LT(0),LL(0),HD(0),HT(0),HH(0),TX(0);
Array : HTL[100](0),LTL[100](0);
if H[간격] > Highest(H,간격) and H[간격] > Highest(H,간격)[간격+1] Then
{
T = 1;
HH1 = H[간격];
Hi1 = index[간격];
Hi2 = HI1[1];
HTL[0] = TL_New(sdate[간격],stime[간격],HH1,sdate,stime,HH1);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New(sdate[간격],stime[간격],HH1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
TL_SetSize(TX,1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
if t == t[1] then
{
LD = 0;
LT = 0;
LL = 0;
for cnt = index-HI1 to index-HI2
{
if LL == 0 or (LL > 0 and L[cnt] < LL) Then
{
LL = L[cnt];
LD = sdate[cnt];
LT = stime[cnt];
}
}
LTL[0] = TL_New(ld,lt,ll,sdate,stime,ll);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New(LD,LT,LL,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
}
}
if L[간격] < Lowest(L,간격) and L[간격] < Lowest(L,간격)[간격+1] Then
{
T = -1;
LL1 = L[간격];
LI1 = index[간격];
LI2 = LI1[1];
LTL[0] = TL_New(sdate[간격],stime[간격],LL1,sdate,stime,LL1);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New(sdate[간격],stime[간격],LL1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
if t == t[1] then
{
HD = 0;
HT = 0;
HH = 0;
for cnt = index-LI1 to index-LI2
{
if HH == 0 or (HH > 0 and H[cnt] > HH) Then
{
HH = H[cnt];
HD = sdate[cnt];
HT = stime[cnt];
}
}
HTL[0] = TL_New(HD,HT,HH,sdate,stime,HH);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New(HD,HT,HH,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
}
}
* 고맙습니다. 수고하십시요.
2021-07-08
752
글번호 150601
답변완료
검색식부탁
기관이나 외인의 매수 누적 수량이 -(마이너스 또는 0)에서 +(플러스)로 전환된 종목 검색식 부탁합니다.
2021-07-08
807
글번호 150598
답변완료
73205관련입니다
수식 감사합니다.
그런데 지표를 적용하면 챠트 아래에 빈 지표가 생성되는데 왜 그런가요 ?
그리고 수직선과 수평선의 굵기는 어떻게 설정할 수 있나요?
마지막으로 수평선 값을 변수로 지정해서 사용할 수 있도록 해 주시기 바랍니다
2021-07-08
693
글번호 150597
알리섬 님에 의해서 삭제되었습니다.
2021-07-08
12
글번호 150596
답변완료
지표문의 드립니다
수고하십니다.
지표에 macd 오실레이터 가 있는데 주가가 상승일땐 빨간색 bar로 증가가 되고
하락일땐 파랑색 bar로 표기가 되는데 이걸 숫자로도 표기할수 있는
수식 부탁드립니다
2021-07-08
762
글번호 150595
답변완료
여쭤봅니다
궁금한게 있어 여쭤봅니다
국내선물의 경우 매수건수, 매도건수를 비교하여 힘의 우위가 어느쪽에 더 있는지
파악하는 방법이 있습니다.
해외선물에서 나스닥이나 오일,항셍 등 국선처럼 힘의 크기를 조금이나 파악할 수 있는
방법이 있는지요?
호가창을 봐도 잘 모르겠어서 한 번 여쭵봅니다.
그리고 참고로 할 만한 지표가 있다면 알려주셨으면 합니다
2021-07-07
924
글번호 150594