커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식을 가르쳐주세요

수고하십니다... 키움수식인데요 예스언어로 구현하고자하니 꼭좀 부탁드립니다 선물 600틱 보조지표에 적용할려고 하는데 잘 안되네요 차트는 600틱에 맞게 최적화된 수식입니다 0선을 상향돌파할 때 매수하고, 0선을 하향돌파할 때 매도합니다 수식 LinearRegressionSlope(C,Short)+100*(eavg(eavg(C-C(1),Long),Mid)/eavg(eavg(Abs(C-C(1)),Long),Mid))+100*(eavg(eavg(C-(0.5*(Highest(H,Short)+Lowest(L,Short))),Mid),3)/(0.5*eavg(eavg(Highest(H,Short)-Lowest(L,Short),Mid),3))) 지표설정조건 short 13 mid 21 long 34 예스챠트에 맞게 함수좀 고쳐주세요 . 부탁합니다
프로필 이미지
피터팬723
2012-02-07
450
글번호 47468
시스템
답변완료

상한가

1. 장중 상한가에 도달한 종목이 상한가에서 -4% 하락시 100만원 매수, 6%하락시 100만원 추가 매수 2. 매수가에서 3% 상승시 매도 3. 재진입 불가 부탁드립니다...먼저 감사드립니다.
프로필 이미지
rokman20
2012-02-07
353
글번호 47465
시스템
답변완료

합성지표

[1] williams' R 과 볼린저밴드의 합성지표좀 부탁드리겠습니다. [2] williams' Acc_dist 와 볼린저밴드의 합성지표좀 부탁드리겠습니다. [3] trix 와 볼린저밴드의 합성지표도 부탁드리겠습니다. [4] Chandre Momentum Oscillator 와 볼린저밴드의 합성지표 부탁드리겠습니다.
프로필 이미지
해피포인트
2012-02-07
396
글번호 47464
지표
답변완료

선물만기일 종가의 의미

연결선물 데이타 일봉 데이타를 볼 때, 만기일의 일봉 시가-저가-고가-저가의 본질을 확인하고 싶습니다. 만기일 종가는 해당월물이 KP200현물 종가로 결제되기 때문에 종가는 kp200현물 종가와 같아야 할 것 같은데요. 예를 들어, 작년 12월8일 만기일 kp200현물 종가는 250.31인데 예스차트 상 연결선물지수의 종가는 250.70이네요. 그렇다면 250.70값은 어디서 나온건가요? 이 데이타를 가지고 오차없이 포지션 트레이딩 시뮬레이션을 하려면 어떻게 하는게 가장 안전할지요? 설명 부탁드립니다. 감사합니다.
프로필 이미지
대단한콩
2012-02-07
441
글번호 47462
지표
답변완료

수정 부탁드립니다.

## 다른건 다 맞는데 당일 하루 일간 손실이 -1pt로 정하고 싶습니다. (수수료와 슬리피지 상관없이 그냥 순 매매손실) 매매를 몇번 하던 상관없이 매매를 하다 포지션이 있을 경우 당일 총 손실이 -1pt를 터치하는 순간 청산과 동시에 그날 매매를 정지하는 겁니다.(그날 매매 무조건 끝). 그런데 제가 아래와 같이 작성을 했는데 손실이 -1pt가 나도 주문이 계속 나가는 것 같고 포지션이 있을때 -1pt가 넘어가도 청산이 안되는 것 같아요 한번 봐주세요 아래 loop 부분 설명좀 부탁 드립니다. 정확히 어떤 의미를 가지고 있는지.. 감사합니다. 그리고, 프로그램을 돌릴때 위에서 아래로 내려가면서 코딩안의 값들이 변하는 것을 한줄 한줄 어떻게 변하는데 지금현재 코딩의 어느 위치에 와 있는지 한줄 씩 진행하는 값들을 볼 수 있나요? 그래야 어디서 코딩이 오류가 났는지 알수 있을것 같아서 입니다. dayhigh(1) 어제의 고가 dayhigh[1] 당일 전 고가 를 의미 하는게 맞나요? Input : Period1(5), Period2(10), shortPeriod(12), longPeriod(26), Period(9), DDmacd(0.42), N(-1); var : Sma1(0),Sma2(0), value(0) , macdosc(0), Dma(0), Dmacd(0), PL(0); Sma1 = ma(C,Period1); //5일선 Sma2 = ma(C,Period2); //20일선 value = MACD(shortPeriod, longPeriod); //short macdosc = ema(value,Period); //long PL = 0 ; for Value1 = 1 to 10 { if EntryDate(Value1) == sdate then PL= PL+PositionProfit(value1); } Dmacd = value-macdosc; if Dmacd < DDmacd and Sma1 < Sma2 and PL > N then{ //Sell sell("S",AtStop,sma1); } if Dmacd > DDmacd and Sma1 > Sma2 and PL > N then{ //Buy buy("B",AtStop,sma1); } if marketposition == -1 and PL < N Then Exitshort("ex", onclose); if MarketPosition == 1 and PL < N Then ExitLong("ex1", OnClose);
프로필 이미지
Ttrader
2012-02-07
332
글번호 47461
시스템
답변완료

주문이 안나가네요

안녕하세요 주데이트, 참조데이터 4개를 사용해서 input 가격 범위에 들어오는 조건식을 만들어 보았습니다. 조건을 만족하는면 내부 변수에 1을 넣고 아니면 0을 넣어서 내부 변수의 합이 2이상이면 매수를 나가게끔 식을 만들어 보았습니다. 하지만 무슨 이유인지 모르겠지만 주문이 나가질 않네요 금일 세팅을 아래와 같이 하였습니다. data1에는 풋 262 data2에는 풋 262 data3에는 풋 265 data4에는 콜 262 data5에는 콜 265 풋 262가 저가 2.79 로 if data2(Lowd(0) >= CDnv01 and Lowd(0) <= CUpv01 ) Then{ H2d1 = 1;} else { H2d1 = 0; } 이조건을 만족하고요 콜 265에서 0.58로 if data5(Highd(0) >= PDnv01 and Highd(0) <= PUpv01 ) Then{ L5d1 = 1;} else { L5d1 = 0; } 를 만족해서 전체 합이 2가 되니까 주문이 나가야 합니다. 하지만 주문이 안나가네요 아래는 제가 사용한 식입니다. ################################################ ###############풋 가격 #################### ################################################ input : CUpv01(2.79), Cdnv01(2.78); ################################################ ################################################ ###############콜 가격 #################### ################################################ input : PUpv01(0.58), Pdnv01(0.57); ################################################ ################################################################################# #################################내부 변수####################################### ################################################################################# var : H2d1(0), H3d1(0), L4d1(0), L5d1(0); ################################################################################# ################################################################################# ################################조건식 대입###################################### ################################################################################# if data2(Lowd(0) >= CDnv01 and Lowd(0) <= CUpv01 ) Then{ H2d1 = 1;} else { H2d1 = 0; } ################################################################################## if data3(Lowd(0) >= CDnv01 and Lowd(0) <= CUpv01 ) Then{ H3d1 = 1;} else { H3d1 = 0; } ############################################################################ if data4(Highd(0) >= PDnv01 and Highd(0) <= PUpv01 ) Then{ L4d1 = 1;} else { L4d1 = 0; } ################################################################################## if data5(Highd(0) >= PDnv01 and Highd(0) <= PUpv01 ) Then{ L5d1 = 1;} else { L5d1 = 0; } ################################################################################# ################################ 매수 식 ###################################### ################################################################################# if MarketPosition == 0 and stime < 150000 then{ if MarketPosition == 0 and 3.05 > c and C > 2.0 then{ if MarketPosition == 0 and (H2d1[1] + H3d1[1] + L4d1[1] + L5d1[1]) >= 2 then buy("b1d1",AtStop,daylow+PriceScale*1); } } ################################################################################# ################################ 손 절 ###################################### ################################################################################# if MarketPosition == 1 and (H2d1[1] + H3d1[1] + L4d1[1] + L5d1[1]) <= 1 then exitlong("b1x1"); ## 항상도움주셔서 감사합니다. ##
프로필 이미지
바다별
2012-02-07
342
글번호 47457
시스템
답변완료

문의 드립니다.

타종목 참고시 data2가 콜옵션 260 이라고 할 때, 수식에서 콜옵션 260임을 알 수 있는 방법이 잇는지요?
프로필 이미지
꾸주니
2012-02-07
297
글번호 47456
지표
답변완료

수식 부탁드립니다.

시초가 대비 3분동안 상승일 경우 매수하고 10시에 청산 시초가 대비 3분동안 하락할 경우 매도하고 10시에 청산 수식 부탁드립니다. 감사합니다.
프로필 이미지
하하
2012-02-07
316
글번호 47454
시스템
답변완료

갭보정좀 부탁드립니다.

이 지표의 갭보정 좀 부탁드립니다. 감사드립니다. Input:Period(60),Percent(50); Var:arr(0),j(0),cnt(0),HH(0),LL(0),Tick(0),TickVol(0), TotVol(0),SubTotVol(0),MaxArr(0),UpArr(0),DnArr(0),MaxPrc(0), UpPrc(0),DwnPrc(0),Vol1(0),Vol2(0); Array:Prc[100](0),Vol[100](0); HH = Highest(H,Period); LL = Lowest(L,Period); if CodeCategoryEX() == 51 then Tick = Round((HH-LL)/100,2); else Tick = Ceiling((HH-LL)/100/PriceScale)*PriceScale; Prc[0] = HH; Vol[0] = 0; for arr = 1 to 99 { Prc[arr] = Prc[arr-1] - Tick; Vol[arr] = 0; } for j = 0 to Period-1 { cnt = 0; for arr = 0 to 99 { if L[j] <= Prc[arr] and Prc[arr] <= H[j] then cnt = cnt + 1; } TickVol = V[j]/cnt; for arr = 0 to 99 { if L[j] <= Prc[arr] and Prc[arr] <= H[j] then { Vol[arr] = Vol[arr] + TickVol; } } } TotVol = 0; MaxArr = 2; for arr = 0 to 99 { TotVol = TotVol + Vol[arr]; if arr >= 2 and arr <= 97 then { if Vol[MaxArr-2]+Vol[MaxArr-1]+Vol[MaxArr]+Vol[MaxArr+1]+Vol[MaxArr+2] < Vol[arr-2] +Vol[arr-1] +Vol[arr] +Vol[arr+1] +Vol[arr+2] then MaxArr = arr; } } UpArr = MaxArr; DnArr = MaxArr; SubTotVol = Vol[MaxArr]; for j = 0 to 99 { Vol1 = iff(UpArr-1>=0,Vol[UpArr-1],0); Vol2 = iff(DnArr+1<=99,Vol[DnArr+1],0); if Vol1 > Vol2 then { SubTotVol = SubTotVol + Vol1; UpArr = UpArr - 1; } else if Vol1 < Vol2 then { SubTotVol = SubTotVol + Vol2; DnArr = DnArr + 1; } else if Vol1 == Vol2 and Vol1 > 0 and Vol2 > 0 then { SubTotVol = SubTotVol + Vol1; UpArr = UpArr - 1; if SubTotVol < TotVol * Percent/100 then { SubTotVol = SubTotVol + Vol2; DnArr = DnArr + 1; } } else if Vol1 + Vol2 == 0 then { if UpArr >= (99 - DnArr) then Uparr = UpArr - 1; else DnArr = DnArr + 1; } if SubTotVol >= TotVol * Percent/100 then j = 99; } MaxPrc = Prc[MaxArr]; UpPrc = Prc[UpArr]; DwnPrc = Prc[DnArr]; plot1(UpPrc); Plot2(DwnPrc); Plot3(MaxPrc);
프로필 이미지
머나먼여정
2012-02-07
355
글번호 47453
지표