커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8100
글번호 230811
답변완료
매수금액 문의드립니다
If (DayVolume*DayClose*0.005) >= 10000000 Then
투입금액==(DayVolume*DayClose*0.005);
Else
투입금액==10000000;
1000만원을 기준으로 투입금액을 바꾸는건데
(DayVolume*DayClose*0.005) 가 1000만원이 넘는데도
투입금액이 (DayVolume*DayClose*0.005) 가 되지않고 전부 1000만원만 찍힙니다
뭐가 문제일까요?
2018-10-24
259
글번호 122990
답변완료
수정의뢰드려요
안녕하세요!
아래 수식은 지난번에 만들어 주신 항생전일고저 피보나치입니다!
그 아래는 제가 일반 해선 (오일이나 골드 등)용으로 시간만 변경을 준것인데
챠트가 이상하게 변해 버리네요!
머가 잘못된건지 잘 모르겠습니다!
수정 좀 부탁드려요!
감사합니다!
--------------------------------------------------------------------------
항생전일고저 피보나치
input : n(2.5);
var : VV(0),dd(0),hh(0),ll(0),h1(0),l1(0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) then
{
vv = O;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
dd = h1-l1;
if h1 > 0 and l1 > 0 then
{
var1 = vv;
var11 = vv+(dd*0.236);
var12 = vv+(dd*0.382);
var13 = vv+(dd*0.500);
var14 = vv+(dd*0.618);
var15 = vv+(dd*0.764);
var16 = vv+(dd*1.000);
var17 = vv+(dd*1.236);
var18 = vv+(dd*1.382);
var19 = vv+(dd*1.500);
var20 = vv+(dd*1.618);
var21 = vv+(dd*1.764);
var22 = vv+(dd*2.000);
var31 = vv-(dd*0.236);
var32 = vv-(dd*0.382);
var33 = vv-(dd*0.500);
var34 = vv-(dd*0.618);
var35 = vv-(dd*0.764);
var36 = vv-(dd*1.000);
var37 = vv-(dd*1.236);
var38 = vv-(dd*1.382);
var39 = vv-(dd*1.500);
var40 = vv-(dd*1.618);
var41 = vv-(dd*1.764);
var42 = vv-(dd*2.000);
Text_Delete(value1);
Text_Delete(value11);
Text_Delete(value12);
Text_Delete(value13);
Text_Delete(value14);
Text_Delete(value15);
Text_Delete(value16);
Text_Delete(value17);
Text_Delete(value18);
Text_Delete(value19);
Text_Delete(value20);
Text_Delete(value21);
Text_Delete(value22);
value1 = Text_New(sdate,stime,var1,"0.00% : "+NumToStr(var1,2));
value11 = Text_New(sdate,stime,var11,"+23.6% : "+NumToStr(var11,2));
value12 = Text_New(sdate,stime,var12,"+38.2% : "+NumToStr(var12,2));
value13 = Text_New(sdate,stime,var13,"+50.0% : "+NumToStr(var13,2));
value14 = Text_New(sdate,stime,var14,"+61.8% : "+NumToStr(var14,2));
value15 = Text_New(sdate,stime,var15,"+76.4% : "+NumToStr(var15,2));
value16 = Text_New(sdate,stime,var16,"+100.0% : "+NumToStr(var16,2));
value17 = Text_New(sdate,stime,var17,"+123.6% : "+NumToStr(var17,2));
value18 = Text_New(sdate,stime,var18,"+138.2% : "+NumToStr(var18,2));
value19 = Text_New(sdate,stime,var19,"+150.0% : "+NumToStr(var19,2));
value20 = Text_New(sdate,stime,var20,"+161.8% : "+NumToStr(var20,2));
value21 = Text_New(sdate,stime,var21,"+176.4% : "+NumToStr(var21,2));
value22 = Text_New(sdate,stime,var22,"+200.0% : "+NumToStr(var22,2));
Text_Delete(value31);
Text_Delete(value32);
Text_Delete(value33);
Text_Delete(value34);
Text_Delete(value35);
Text_Delete(value36);
Text_Delete(value37);
Text_Delete(value38);
Text_Delete(value39);
Text_Delete(value40);
Text_Delete(value41);
Text_Delete(value42);
value31 = Text_New(sdate,stime,var31,"-23.6% : "+NumToStr(var31,2));
value32 = Text_New(sdate,stime,var32,"-38.2% : "+NumToStr(var32,2));
value33 = Text_New(sdate,stime,var33,"-50.0% : "+NumToStr(var33,2));
value34 = Text_New(sdate,stime,var34,"-61.8% : "+NumToStr(var34,2));
value35 = Text_New(sdate,stime,var35,"-76.4% : "+NumToStr(var35,2));
value36 = Text_New(sdate,stime,var36,"-100.0% : "+NumToStr(var36,2));
value37 = Text_New(sdate,stime,var37,"-123.6% : "+NumToStr(var37,2));
value38 = Text_New(sdate,stime,var38,"-138.2% : "+NumToStr(var38,2));
value39 = Text_New(sdate,stime,var39,"-150.0% : "+NumToStr(var39,2));
value40 = Text_New(sdate,stime,var40,"-161.8% : "+NumToStr(var40,2));
value41 = Text_New(sdate,stime,var41,"-176.4% : "+NumToStr(var41,2));
value42 = Text_New(sdate,stime,var42,"-200.0% : "+NumToStr(var42,2));
}
}
Else
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
Text_SetLocation(value1,sdate,stime,var1);
Text_SetLocation(value11,sdate,stime,var11);
Text_SetLocation(value12,sdate,stime,var12);
Text_SetLocation(value13,sdate,stime,var13);
Text_SetLocation(value14,sdate,stime,var14);
Text_SetLocation(value15,sdate,stime,var15);
Text_SetLocation(value16,sdate,stime,var16);
Text_SetLocation(value17,sdate,stime,var17);
Text_SetLocation(value18,sdate,stime,var18);
Text_SetLocation(value19,sdate,stime,var19);
Text_SetLocation(value20,sdate,stime,var20);
Text_SetLocation(value21,sdate,stime,var21);
Text_SetLocation(value22,sdate,stime,var22);
Text_SetLocation(value31,sdate,stime,var31);
Text_SetLocation(value32,sdate,stime,var32);
Text_SetLocation(value33,sdate,stime,var33);
Text_SetLocation(value34,sdate,stime,var34);
Text_SetLocation(value35,sdate,stime,var35);
Text_SetLocation(value36,sdate,stime,var36);
Text_SetLocation(value37,sdate,stime,var37);
Text_SetLocation(value38,sdate,stime,var38);
Text_SetLocation(value39,sdate,stime,var39);
Text_SetLocation(value40,sdate,stime,var40);
Text_SetLocation(value41,sdate,stime,var41);
Text_SetLocation(value42,sdate,stime,var42);
}
plot1(var1);
plot11(var11);
plot12(var12);
plot13(var13);
plot14(var14);
plot15(var15);
plot16(var16);
plot17(var17);
plot18(var18);
plot19(var19);
plot20(var20);
plot21(var21);
plot22(var22);
plot31(var31);
plot32(var32);
plot33(var33);
plot34(var34);
plot35(var35);
plot36(var36);
plot37(var37);
plot38(var38);
plot39(var39);
plot40(var40);
plot41(var41);
plot42(var42);
-----------------------------------------------------------------------------------
항생수식을 해선 전일고저 피보나치로 변경한 수식
input : n(2.5);
var : VV(0),dd(0),hh(0),ll(0),h1(0),l1(0);
if (sdate != sdate[1] and stime >= 090000) or
(sdate == sdate[1] and stime >= 0900 and stime[1] < 090000) then
{
vv = O;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
dd = h1-l1;
if h1 > 0 and l1 > 0 then
{
var1 = vv;
var11 = vv+(dd*0.236);
var12 = vv+(dd*0.382);
var13 = vv+(dd*0.500);
var14 = vv+(dd*0.618);
var15 = vv+(dd*0.764);
var16 = vv+(dd*1.000);
var17 = vv+(dd*1.236);
var18 = vv+(dd*1.382);
var19 = vv+(dd*1.500);
var20 = vv+(dd*1.618);
var21 = vv+(dd*1.764);
var22 = vv+(dd*2.000);
var31 = vv-(dd*0.236);
var32 = vv-(dd*0.382);
var33 = vv-(dd*0.500);
var34 = vv-(dd*0.618);
var35 = vv-(dd*0.764);
var36 = vv-(dd*1.000);
var37 = vv-(dd*1.236);
var38 = vv-(dd*1.382);
var39 = vv-(dd*1.500);
var40 = vv-(dd*1.618);
var41 = vv-(dd*1.764);
var42 = vv-(dd*2.000);
Text_Delete(value1);
Text_Delete(value11);
Text_Delete(value12);
Text_Delete(value13);
Text_Delete(value14);
Text_Delete(value15);
Text_Delete(value16);
Text_Delete(value17);
Text_Delete(value18);
Text_Delete(value19);
Text_Delete(value20);
Text_Delete(value21);
Text_Delete(value22);
value1 = Text_New(sdate,stime,var1,"0.00% : "+NumToStr(var1,2));
value11 = Text_New(sdate,stime,var11,"+23.6% : "+NumToStr(var11,2));
value12 = Text_New(sdate,stime,var12,"+38.2% : "+NumToStr(var12,2));
value13 = Text_New(sdate,stime,var13,"+50.0% : "+NumToStr(var13,2));
value14 = Text_New(sdate,stime,var14,"+61.8% : "+NumToStr(var14,2));
value15 = Text_New(sdate,stime,var15,"+76.4% : "+NumToStr(var15,2));
value16 = Text_New(sdate,stime,var16,"+100.0% : "+NumToStr(var16,2));
value17 = Text_New(sdate,stime,var17,"+123.6% : "+NumToStr(var17,2));
value18 = Text_New(sdate,stime,var18,"+138.2% : "+NumToStr(var18,2));
value19 = Text_New(sdate,stime,var19,"+150.0% : "+NumToStr(var19,2));
value20 = Text_New(sdate,stime,var20,"+161.8% : "+NumToStr(var20,2));
value21 = Text_New(sdate,stime,var21,"+176.4% : "+NumToStr(var21,2));
value22 = Text_New(sdate,stime,var22,"+200.0% : "+NumToStr(var22,2));
Text_Delete(value31);
Text_Delete(value32);
Text_Delete(value33);
Text_Delete(value34);
Text_Delete(value35);
Text_Delete(value36);
Text_Delete(value37);
Text_Delete(value38);
Text_Delete(value39);
Text_Delete(value40);
Text_Delete(value41);
Text_Delete(value42);
value31 = Text_New(sdate,stime,var31,"-23.6% : "+NumToStr(var31,2));
value32 = Text_New(sdate,stime,var32,"-38.2% : "+NumToStr(var32,2));
value33 = Text_New(sdate,stime,var33,"-50.0% : "+NumToStr(var33,2));
value34 = Text_New(sdate,stime,var34,"-61.8% : "+NumToStr(var34,2));
value35 = Text_New(sdate,stime,var35,"-76.4% : "+NumToStr(var35,2));
value36 = Text_New(sdate,stime,var36,"-100.0% : "+NumToStr(var36,2));
value37 = Text_New(sdate,stime,var37,"-123.6% : "+NumToStr(var37,2));
value38 = Text_New(sdate,stime,var38,"-138.2% : "+NumToStr(var38,2));
value39 = Text_New(sdate,stime,var39,"-150.0% : "+NumToStr(var39,2));
value40 = Text_New(sdate,stime,var40,"-161.8% : "+NumToStr(var40,2));
value41 = Text_New(sdate,stime,var41,"-176.4% : "+NumToStr(var41,2));
value42 = Text_New(sdate,stime,var42,"-200.0% : "+NumToStr(var42,2));
}
}
Else
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
Text_SetLocation(value1,sdate,stime,var1);
Text_SetLocation(value11,sdate,stime,var11);
Text_SetLocation(value12,sdate,stime,var12);
Text_SetLocation(value13,sdate,stime,var13);
Text_SetLocation(value14,sdate,stime,var14);
Text_SetLocation(value15,sdate,stime,var15);
Text_SetLocation(value16,sdate,stime,var16);
Text_SetLocation(value17,sdate,stime,var17);
Text_SetLocation(value18,sdate,stime,var18);
Text_SetLocation(value19,sdate,stime,var19);
Text_SetLocation(value20,sdate,stime,var20);
Text_SetLocation(value21,sdate,stime,var21);
Text_SetLocation(value22,sdate,stime,var22);
Text_SetLocation(value31,sdate,stime,var31);
Text_SetLocation(value32,sdate,stime,var32);
Text_SetLocation(value33,sdate,stime,var33);
Text_SetLocation(value34,sdate,stime,var34);
Text_SetLocation(value35,sdate,stime,var35);
Text_SetLocation(value36,sdate,stime,var36);
Text_SetLocation(value37,sdate,stime,var37);
Text_SetLocation(value38,sdate,stime,var38);
Text_SetLocation(value39,sdate,stime,var39);
Text_SetLocation(value40,sdate,stime,var40);
Text_SetLocation(value41,sdate,stime,var41);
Text_SetLocation(value42,sdate,stime,var42);
}
plot1(var1);
plot11(var11);
plot12(var12);
plot13(var13);
plot14(var14);
plot15(var15);
plot16(var16);
plot17(var17);
plot18(var18);
plot19(var19);
plot20(var20);
plot21(var21);
plot22(var22);
plot31(var31);
plot32(var32);
plot33(var33);
plot34(var34);
plot35(var35);
plot36(var36);
plot37(var37);
plot38(var38);
plot39(var39);
plot40(var40);
plot41(var41);
plot42(var42);
2018-10-24
323
글번호 122989
답변완료
외국인 수급
안녕하세요
당일 옵션 (금액기준) 외국인수급상황을 꺽은선 그래프로 만들고 싶습니다.
단순히 외국인의 콜 순매수금액과 풋 순매수 금액꺽은선 교차 그래프를 만들고 싶습니다.
감사합니다
2018-10-24
345
글번호 122988
답변완료
수식문의 드립니다.
피봇포인트 지표
Var : Pivot(0),R1(0),R2(0),R3(0),r4(0),r5(0),S1(0),S2(0),S3(0),S4(0),s5(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
R3 = DayHigh(1)+2*(Pivot-DayLow(1));
R4 = DayHigh(1)+3*(Pivot-DayLow(1));
R5 = DayHigh(1)+4*(Pivot-DayLow(1));
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
S3 = DayLow(1) - 2*(DayHigh(1)-Pivot);
S4 = DayLow(1) - 3*(DayHigh(1)-Pivot);
S5 = DayLow(1) - 4*(DayHigh(1)-Pivot);
위 값들을 활용한 매매수식을 문의드립니다.
매수 : macdosc 가 0 보다 크고 and rsi 가 50 보다 크고 and 현재가가 이동평균선보다 높을 때 피봇지표값들 중 현재가 바로아래에 있는 선에서 매수 현재가 보다 한단계 위에 있는 피봇지표값에서 청산.
예) 현재가가 S2 보다 작고 S3보다 클때, macdoss > 0 and rsi > 50 and c > ma(c,period) 일 때 S3에서 매수 S2 청산
매도 : macdosc가 0 보다 작고, rsi가 50보다 작고 현재가가 이동평균선 보다 낮을 때 피봇지표값들 중 현재가 바로위에 있는 선에서 매도 현재가 보다 한단계 아래에 있는 피봇지표값에서 청산
해외선물, 국내선물 분챠트에서 모두 적용가능하도록 부탁드립니다.
2018-10-24
335
글번호 122987
답변완료
수식 문의 합니다
1차 매수조건입니다.( BuySetup == true 조건은 미 기입)
if MarketPosition == 0 and BuySetup == true and C > O and (sTime >= 시작시간) Then
buy("1차매수",OnClose,def,Floor(금액1/C));
1차매수후에 아래와 같은 조건일 때 손절은 합니다.
if MarketPosition == 1 and c < lowest(L,50)[BarsSinceEntry] Then
ExitLong("전저점 이탈");
손절후에 1차 매수했던 가격보다 5%가 더 떨어지면 1차 매수했던 금액보다 2배의 금액으로 매수할려면 어떻게 해야 하나요? (2차매수임, 1차 매수는 이미 손절된 상태임)
2018-10-24
280
글번호 122983
답변완료
지표값 표시
Input : R(1);
var1 = ema(C,R);
Plot1(var1, "지수이동평균1");
위와 같은 지표식에서
현재는 지표값이 지표차트의 왼쪽 상단에 표시되고 있습니다.
이를 선물지수 값의 표시와 같이 오른쪽 여백에 지표값이 표시 되도록 할 수 있나요?.
빙법을 알려주시면 감사 하겠습니다.
2018-10-24
292
글번호 122977
답변완료
총손익 관련 문의드립니다
주식매매에 적용하고 싶습니다
주식은 로직을 적용해보니까 잘 맞는 주식이 있고 손실만 나는 주식이 있더군요
그래서 신호발생시 까지의 시뮬레이션 차트상에서 총손실을 따져서 이익인
경우에만 매수가 나가도록 하고 싶습니다
if crossup(전환선, 기준선)
and netpofit >0 then
{
buy();
}
그래서 이렇게 작성하면 매수 매매가 하나도 없습니다
뭐가 잘못된걸까요?
감사합니다.
2018-10-24
263
글번호 122976
답변완료
* 매매 손절후 5틱 실행
* 항상 많은 도움에 고맙습니다.
* 아래 로직에서 손절 신호가 오면 바로 손절 하는 것이 아니고
매수(Buy) 신호 이면 손절 신호가격대비 5틱 하락시 매수
매도(sell)신호 이면 손절 신호가격대비 5틱 상승시 매도
------아래 수식 -----------------------------------
Input : Period(20), Percent(0.2);
var : center(0),UPline(0),DNline(0);
center = ma(C, Period);
UPline = EnvelopeUp(Period, Percent);
Dnline = EnvelopeDown(Period, Percent);
if crossup(c,Dnline) Then Buy("매수");
if CrossDown(c,UPline) Then sell("매도");
SetStopProfittarget(PriceScale*20,PointStop);
SetStopLoss(PriceScale*20,PointStop);
* 고맙 습니다. 좋은 하루 되십시요.
2018-10-24
284
글번호 122975
답변완료
문의드립니다.
항상 감사드립니다.
다음식을 시스템식으로 부탁드립니다.
30분봉 기준 당일 첫 봉 = 양봉 + 12시30분~13시30분간의 가격지수 range position > 50% 충족시 현재가 매수 ----> 다음날 시가 청산
그리고 매매신호가 발생한후 1개봉 다음에 실 매매가 이루어지는 수식도 부탁드립니다.
수고하세요
2018-10-24
258
글번호 122974