커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

질문 드립니다.

안녕하세요. 늘 감사드립니다. Round Number Price, 즉 RP를 시스템 식에서 쓰려면 어떻게 코딩하면 좋을지 알려 주시면 감사하겠습니다. 예컨대, 나스닥에서 100틱 단위 RP 는 8700 8725 8750 8775... 이런 식인데요, 언제든 이 100틱 단위 RP 바로 위에서는 매수, 바로 아래에서는 매도 이렇게 해 보려고 한다면, 가령, 8725~8727 사이에 C가 있으면 매수, 8723~8725 사이에 C가 있으면 매도. 이런 식으로 100틱 단위 RN과 그 위 8틱 사이에 C가 있으면 매수, 100틱 단위 RN과 그 밑 8틱 사이에 C가 있으면 매도 하려면 어떻게 코딩하면 좋을까요? 대단히 감사합니다.
프로필 이미지
즐겁게
2020-05-05
860
글번호 138566
시스템
답변완료

문의 드립니다.

SetStopEndofday(153600); 하면 3시35분에 동시호가 들어가고 1분 후에 청산 주문 들어가는거 맞나요? 실제로는 주문이 들어가지 않아서 수동으로 청산을 했는데요. 어떤 부분이 잘못인지 모르겠습니다. 목적은 3시45분 마감에 시장가 청산하기 위해서입니다. 감사합니다.
프로필 이미지
하우즐영
2020-05-04
945
글번호 138565
시스템
답변완료

수정 좀 부탁드립니다.

아래 수식은 타주기 분봉의 이평을 작은 분봉에 적용하는 수식인데요 수식을 적용할 경우 꾸불꾸불 지렁이 처럼 움직이는 선입니다. 이 선을 일목의 전환선과 기준선처럼 수평이동으로 수정하고 싶습니다. 예를 들어 60분으로 설정했을 경우 매 60분마다 해당 이평선의 시작가에서 60분동안 가격의 변화 없이 수평유지 되고 그다음 60분이 되면 해당 이평의 시작가로 가격이 이동되어 또 60분동안 수평유지 되는 형식입니다. 도움 부탁드립니다. input : ntime(60),P1(5),P2(20); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : C1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2-1{ if cnt < P1 then sum1 = sum1+C1[cnt]; if cnt < P2 then sum2 = sum2+C1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; plot1(mav1); plot2(mav2); } }
프로필 이미지
플로스트
2020-05-04
966
글번호 138564
지표
답변완료

질문답글중에서 67257에 주신 수식을 실현하면 청산이 안되요..

국내 주식 kodex200 300분봉을 적용하였습니다. 분할매수 수식에서 일괄청산하는 식에 알려주신 4회 분할 청산 수식을 주어서 적용을 해보면 ... 매수만 되고 청산은 안되네요.. 나름대로 원인을 찾아보려고 했지만 잘 모르겠어서 이렇게 도움을 요청합니다. 한번 차트에서 구현해주셔서 문제점을 해결 해주시면 감사하겠습니다. 아래 알려주신 수식 입니다. input : n(200),하락퍼센트(0.95),하락퍼센트률(0.05); input : p(20),MFI값(70), MFI값하락률(5); input : 전일대비하락률(0.5); input : 매매수(300),금액1(10),금액2(20),금액3(30),금액4(100),금액5(200),금액6(200),금액7(300),금액8(300); var1 = highest(H,n); var2 = mfi(P); if stime < 143000 then { if MaxEntries < 매매수 and c < var1*하락퍼센트 and var2 < MFI값 and c < o and c <= c[1]*(100-전일대비하락률)/100 Then buy("b1",OnClose,def,Floor(금액1*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률) and var2 < (MFI값- MFI값하락률) and c < o and c <= c[1]*(99.4-전일대비하락률)/100 Then buy("b2",OnClose,def,Floor(금액2*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*2) and var2 < (MFI값- MFI값하락률*2) and c < o and c <= c[1]*(100-전일대비하락률*2)/100 Then buy("b3",OnClose,def,Floor(금액3*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*3) and var2 < (MFI값- MFI값하락률*3) and c < o and c <= c[1]*( 100-전일대비하락률*3)/100 Then buy("b4",OnClose,def,Floor(금액4*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*4) and var2 < (MFI값- MFI값하락률*4) and c < o and c <= c[1]*( 100-전일대비하락률*4)/100 Then buy("b5",OnClose,def,Floor(금액5*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*5) and var2 < (MFI값- MFI값하락률*5) and c < o and c <= c[1]*( 100-전일대비하락률*5)/100 Then buy("b6",OnClose,def,Floor(금액6*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*6) and var2 < (MFI값- MFI값하락률*6) and c < o and c <= c[1]*( 100-전일대비하락률*6)/100 Then buy("b7",OnClose,def,Floor(금액6*10000/c)); if MaxEntries < 매매수 and c < var1*(하락퍼센트- 하락퍼센트률*7) and var2 < (MFI값- MFI값하락률*7) and c < o and c <= c[1]*( 100-전일대비하락률*7)/100 Then buy("b8",OnClose,def,Floor(금액6*10000/c)); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { Condition1 = false; Condition2 = false; Condition3 = false; Condition4 = false; } if CurrentContracts > CurrentContracts[1] Then { if LatestExitName(0) == "bx1" Then Condition1 = true; if LatestExitName(0) == "bx2" Then Condition2 = true; if LatestExitName(0) == "bx3" Then Condition3 = true; if LatestExitName(0) == "bx4" Then Condition4 = true; } if Condition1 == true then ExitLong("bx1",Atlimit,AvgEntryPrice*1.05,"",Floor(CurrentContracts*0.25),1); if Condition2 == true then ExitLong("bx2",Atlimit,AvgEntryPrice*1.10,"",Floor(CurrentContracts*0.50),1); if Condition3 == true then ExitLong("bx3",Atlimit,AvgEntryPrice*1.15,"",Floor(CurrentContracts*0.75),1); if Condition4 == true then ExitLong("bx4",Atlimit,AvgEntryPrice*1.20); } Else { Condition1 = false; Condition2 = false; Condition3 = false; Condition4 = false; }
프로필 이미지
이형지
2020-05-04
1034
글번호 138563
시스템

고저중 님에 의해서 삭제되었습니다.

프로필 이미지
고저중
2020-05-04
2
글번호 138562
지표
답변완료

수식 작성 부탁드립니다.

1.매수진입:macd지표가 상승다이버전스일때 매수청산:macd지표가 하락다이버전스일때 매도진입:macd지표가 하락다이버전스일때 매도청산:macd지표가 상승다이버전스일때 2.매수진입:soner모멘텀지표가 상승다이버전스일때 매수청산:soner모멘텀지표가 하락다이버전스일때 매도진입:soner모멘텀지표가 하락다이버전스일때 매도청산:soner모멘텀지표가 상승다이버전스일때 3.매수진입:obv지표가 상승다이버전스일때 매수청산:obv지표가 하락다이버전스일때 매도진입:obv지표가 하락다이버전스일때 매도청산:obv지표가 상승다이버전스일때 4.매수진입:RSI지표가 상승다이버전스일때 매수청산:RSI지표가 하락다이버전스일때 매도진입:RSI지표가 하락다이버전스일때 매도청산:RSI지표가 상승다이버전스일때 5.매수진입:스톡캐스틱지표가 상승다이버전스일때 매수청산:RSI지표가 하락다이버전스일때 매도진입:RSI지표가 하락다이버전스일때 매도청산:RSI지표가 상승다이버전스일때 5.매수진입:Stochastics K_D지표가 상승다이버전스일때 매수청산:Stochastics K_D지표가 하락다이버전스일때 매도진입:Stochastics K_D지표가 하락다이버전스일때 매도청산:Stochastics K_D지표가 상승다이버전스일때 6.1번~5번까지의 지표식도 부탁드립니다. 항상 감사합니다.수고하세요
프로필 이미지
푸른물결
2020-05-04
1058
글번호 138561
시스템
답변완료

수식 좀 요청 드립니다.

* 많은 도움에 고맙습니다. * 아래 수식이 적용 안되는데 확인좀 부탁 드립니다. (마이크로 미니 S&P500 종목거래) ## 1번 질문 기준 : 매수후 60봉 이상 경과 후 매수가 보다 20틱 이하면 청산 아래 수식이 아닌 가요? ## 봉경과후 청 산 if MarketPosition == 1 and IsEntryName("SS4") == true and BarsSinceEntry >= 60 and highest(H,BarsSinceEntry) <= EntryPrice-PriceScale*20 Then ExitLong(); if MarketPosition == -1 and IsEntryName("DD1") == true and BarsSinceEntry >= 60 and Lowest(L,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then ExitShort(); *2번 질문 (마이크로&#160;미니&#160;S&P500&#160;종목거래) 기준: 수익 후 청산 기준 :20틱이상 수익후 -10틱 으로 수익이 감소하면 청산 input : droptick(-10),minprotick(20); Vars : TickSize(0) ; TickSize = PriceScale; #20틱이상 수익후 -10틱 으로 수익이 감소하면 청산 SetStopTrailing(droptick * TickSize,minprotick * TickSize,PointStop); 2가지 수식에 대하여 어느 부분이 잘못 되었나요? 지도좀 요청 드립니다. * 수고하십시요.
프로필 이미지
요타
2020-05-06
982
글번호 138560
시스템
답변완료

문의드립니다.

하기식의 지표부분만 예스로 부탁드립니다. Periods = input(title="ATR Period", type=input.integer, defval=20) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 up=src-(Multiplier*atr) up1 = nz(up[1],up) up := close[1] > up1 ? max(up,up1) : up dn=src+(Multiplier*atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0) plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0) plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
프로필 이미지
as8282
2020-05-03
998
글번호 138559
지표

카이저 님에 의해서 삭제되었습니다.

프로필 이미지
카이저
2020-05-03
2
글번호 138558
지표