커뮤니티

예스랭귀지 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);
프로필 이미지
qha71
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
시스템