커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
5513
글번호 230811
지표
답변완료

문의

아래수식에서 1계약만 힐수 있는 예수금으로 돌릴 때 매수는 되는데 매수후에 청산할 때 증거금 부족으로 주문이 안들어 갑니다. 증거금을 더 넣지 않고 운용하려면 어떻게 하여야 하나요? var : T(0),S(0) ; input : 이익변수(100),dayopen1(750) ; if crossup(C,dayopen1+PriceScale*2) Then { buy("b"); } if MarketPosition == 1 Then { if CrossDown(C,dayopen1-PriceScale*2) Then { exitlong("bx"); } if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*60 Then ExitLong("btr",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.9); }
프로필 이미지
종호
2019-08-21
335
글번호 131308
시스템
답변완료

수식 문의

예스트레이더를 활용하여 시카고 선물거래소(CME) 투자 시, dayopen/dayclose나 dayindex 등의 변수 활용 때 어떤 조정을 거쳐야 하는지 알고 싶습니다. 1. if c>dayopen+1 then buy(); 와 같은 식을 한국선물시장에서 활용 중이라면, 해당 식을 CME에서 활용하기 위해서는 어떻게 조정하면 될까요? 2. dayindex>0 과 같은 조건을 CME에서 활용하기 위해서는 어떻게 조정하면 될까요? 3. 그 외에 dayclose(1)/dayhigh(1)/daylow(1)를 어떻게 표현하는지? 와 주의할 사항이 어떤 것들이 있을까요?
프로필 이미지
뗑컨
2019-08-21
307
글번호 131307
시스템
답변완료

문의드립니다~

틱차트에서 1.나스닥에서 10시30분을 기준으로 해서 위로50포인트단위가격으로 8개가로선 아래로50포인트단위가격으로 8개가로선을 긋고 싶습니다. 현재가격이 7672포인트인데 만약10시30분 시작가격이 7672라면은 위로 7700부터 50포인트단위로 가로선8개 아래로 7650부터 50포인트단위로 가로선8개 이런 식으로요~ 2.매수 또는 매도진입을 하고나서 30틱이상 수익일때 50포인트단위의 가격에서 익절하고 싶습니다. 현재나스닥이 7672포인트인데 진입후 30틱이상 수익일때 7650,7600 이런단위가격에 왔을때 익절하는 식을 구하고 싶습니다.~ 항상 감사한 마음 가지고 있습니다~ 감사합니다~
프로필 이미지
겐지
2019-08-21
317
글번호 131306
시스템
답변완료

질문 드립니다.

안녕하세요. 1. 나스닥에서, 현재 나스닥이 가령 7659.75라면, 가장 가까운 50포인트 단위 가격을 중심으로 수평선을 다섯개(수평선이 안된다면 여하튼 상하로 변하더라도) 긋는 지표식 부탁드립니다. 즉, 이 경우, 가장 가까운 7650을 중심선으로 하고, 위에 7700, 7750 이렇게 두개, 아래에 7600, 7550 이렇게 두개, 총 다섯개의 선들이 그어 질 수 있는 지표식 부탁드립니다. (완전 수평선이 불가능하면, 완전 수평선이 아니라하더라도, 여하튼 현재의 종가를 중심으로, 가장 가까운 50 포인트 단위 가격을 중심으로 그 위에 50포인트 간격 줄 두개, 아래로 두개, 총 다섯개 줄을 긋는 지표식 부탁 드립니다. 2. 같은 논리로, 오일에서, 가령 지금 가격이 56.12라면, 가장 가까운 56.00을 중심으로 그 위 50틱 위에 56.50, 그 위에 57.00, 아래로는 55.50, 55.00 이렇게 다섯개 줄, 3. 골드의 경우, 현재 1517.4라면, 가장 가까운 1515.0을 중심선으로, 위로는 1520.0, 1525.0, 아래로는 1510.0, 1505.0에 줄을 쳐 주는 지표식 부탁드립니다. 감사합니다.
프로필 이미지
즐겁게
2019-08-26
316
글번호 131305
지표
답변완료

답변부탁드려요~

수고가 많으십니다. 예를들어 다음식으로 여러종목을 운용한다고 생각하면, Input : shortPeriod(5), longPeriod(20), Period(3); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 해외선물에서 이 시스템으로 여러종목을 운용한다면, 1. 해외선물 매매 시작시간 지정해서 시스템시작 (예: 한국시간 오후10시부터 매매) 2. 당일 실현손익과 여러종목의 현재 평가손익의 합이 1000$이 넘으면 모든 종목 시스템을 청산하고 당일 매매를 마치는 식이 어떻게 추가되면 될까요? 즉, 당일실현손익$ + 현평가손익총합$ = 1000$이상이면 시스템 청산후 매매종료하는 시스템 수식부탁드립니다. 수고하세요
프로필 이미지
불바다
2019-08-21
341
글번호 131304
시스템
답변완료

수고하십니다

종목검색식 부탁합니다. ATR(14,9) ATR지수 > ATR시그널 ATR지수 우상. ADX(14) +DI > -DI +DI > ADX ADX > -DI 거래량 120(외부변수)거래봉 평균거래량 현재거래봉 > 과거120평균거래봉[1] * 30배이상
프로필 이미지
ho2350
2019-08-21
287
글번호 131303
종목검색
답변완료

지표식 문의드립니다.

이전 N봉의 평균값을 N봉만큼 보여주는 지표식을 구현하고 싶습니다. 즉 N을 10으로 설정하면 현재봉에서는 이전 10개의 봉의 평균값이 현재부터 앞으로 10개의 봉까지 나오게 됩니다.
프로필 이미지
한글나라
2019-08-20
274
글번호 131302
지표
답변완료

추가 수익 구간

* 항상 많은 도움에 고맙습니다. * 첨부파일 처럼 추가 수익 가능 구간이 있는데 40틱에서 자동 청산 되는 이유가 무었인가요? < 63551번 글 참고> 즉 수익을 더할수 있는데 청산이 되네요..... * 요청 사항 1.수익이 35틱 이상 한번 이라도 오면 max수익 60틱 이상 이면 무조건 청산후 거래금지 2.수익이 35틱 이상 한번 아라도 오면 min수익 30틱 이하 이면 무조건 청산후 거래금지 #### Input : 당일수익틱수(40); var : N1(0),dayPl(0),당일수익(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; if Bdate != Bdate[1] Then{Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then{if daypl >= PriceScale*35 Then Xcond = true; if (IsExitName("목표40만원달성1",1) == true or IsExitName("목표40만원달성2",1) == true) then Xcond = true; } if Xcond == false then { var1 = ma(c,5) ; var2 = ma(c,20); if CrossUp(var1,var2) then Buy("매수1") ; if CrossDown(var1,var2) then sell("매도1") ; } ########################################################################################################################### #가장 위 if MarketPosition == 1 then{ExitLong("목표40만원달성1",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ExitShort("목표40만원달성2",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } ########################################################################################################################### SetStopProfittarget(PriceScale*80,PointStop); SetStopLoss(PriceScale*28,PointStop); if sdate != sdate[1] Then SetStopEndofday(043000); if bdate != bdate[1] Then SetStopEndofday(0); * 항상 고맙습니다.
프로필 이미지
요타
2019-08-21
323
글번호 131301
강조
답변완료

수식점검부탁입니다.

$,안녕하세요 # 63764 보내주신 답변수식을 아래와 같이 인용해 봤습니다,그런데 var4 라인을 현재가가 croseup 경우는 소리발생이 정상인데 var4라인을 croseDown할경우를 응용해서 작성했는데 소리가 var4라인을 터치하지 않아도 소리가 납니다, 수식이 어디가 잘못된건지 도움 부탁 드립니다.제가 원하는식은 현재가가var4라인을 상향터치(croseUp)하거나 하향터치(croseDown) 시에도 소리발생 하는식입니다,var5라인도 같은 방식으로요, 도움부탁드립니다. input : Per1(9),Per2(18),per3(28),per4(38),per5(55),per6(61.8),per7(85),per8(100),per9(138.2),per10(161.8); Var : pivot(0),S1(0),S2(1),S3(1),S4(1),S5(0),cnt(0),t1(0),t2(0),t3(0),t4(0),t5(0),t6(0),t7(0); Array : oo[10](0),hh[10](0),ll[10](0),cc[10](0); if bdate > bdate[1]+30 then { oo[0] = o; hh[0] = h; ll[0] = L; for cnt = 1 to 9 { oo[cnt] = oo[cnt-1][1]; hh[cnt] = hh[cnt-1][1]; ll[cnt] = ll[cnt-1][1]; cc[cnt] = cc[cnt-1][1]; } } if h > hh[0] Then hh[0] = h; if l < ll[0] Then ll[0] = l; cc[0] = c; if hh[1] > 0 and ll[1] > 0 then { S1 = (hh[0]+ll[0])/2; S2 = (hh[1]+ll[1])/2; S3 = hh[1]; S4 = ll[1]; s5 = oo[0]; var1 =10^(LOG10(oo[0])); var2 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per1/100)); var3 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per1/100)); var4 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per2/100)); var5 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per2/100)); var6 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per3/100)); var7 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per3/100)); var8 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per4/100)); var9 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per4/100)); var10 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per5/100)); var11 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per5/100)); var12 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per6/100)); var13 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per6/100)); var14 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per7/100)); var15 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per7/100)); var16 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per8/100)); var17 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per8/100)); var18 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per9/100)); var19 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per9/100)); var20 =10^(LOG10(cc[1])+(LOG10(S3)-LOG10(S4))*(Per10/100)); var21 =10^(LOG10(cc[1])-(LOG10(S3)-LOG10(S4))*(Per10/100)); plot1(var1); plot2(var2); plot3(var3); plot4(var4); plot5(var5); plot6(var6); plot7(var7); plot8(var8); plot9(var9); plot10(var10); plot11(var11); plot12(var12); plot13(var13); plot14(var14); plot15(var15); plot16(var16); plot17(var17); plot18(var18); plot19(var19); plot20(var20); plot21(var21); if crossup(h,var4) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if CrossDown(l,var5) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if crossup(l,var5) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if CrossDown(h,var4) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if crossup(h,var10) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if CrossDown(l,var11) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if crossup(h,var12) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if CrossDown(l,var13) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if crossup(l,var13) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); if CrossDown(h,var12) Then PlaySound("C:₩예스트레이더₩data ₩Sound ₩alert.wav"); } Text_Delete(t1); Text_Delete(t2); Text_Delete(t3); Text_Delete(t4); Text_Delete(t5); Text_Delete(t6); Text_Delete(t7); t1 = Text_New(sdate,stime,10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per2/100))," MB:"+NumToStr(10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per2/100)),2)); t2 = Text_New(sdate,stime,10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per2/100))," MS:"+NumToStr(10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per2/100)),2)); t3 = Text_New(sdate,stime,10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per5/100))," +MM:"+NumToStr(10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per5/100)),2)); t4 = Text_New(sdate,stime,10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per5/100))," -MM:"+NumToStr(10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per5/100)),2)); t5 = Text_New(sdate,stime,10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per6/100))," +MR:"+NumToStr(10^(LOG10(cc[1])+(Log10(S3)-log10(S4))*(Per6/100)),2)); t6 = Text_New(sdate,stime,10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per6/100))," -MR:"+NumToStr(10^(LOG10(cc[1])-(Log10(S3)-log10(S4))*(Per6/100)),2)); t7 = Text_New(sdate,stime,s5," MO:"+NumToStr(s5,2)); Text_SetStyle(t1,5,2); Text_SetStyle(t2,5,2); Text_SetStyle(t3,5,2); Text_SetStyle(t4,5,2); Text_SetStyle(t5,5,2); Text_SetStyle(t6,5,2); Text_SetStyle(t7,5,2); Text_SetColor(t1,RED); Text_SetColor(t2,BLUE); Text_SetColor(t3,RED); Text_SetColor(t4,BLUE); Text_SetColor(t5,RED); Text_SetColor(t6,BLUE); Text_SetColor(t7,LMAGENTA); #,고맙습니다.
프로필 이미지
회원
2019-08-20
264
글번호 131300
지표