커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

갭관련 검색식좀 부탁드립니다

일봉상에서 현재봉기준 최근 갭이 가장 만이 뜬 순위를 1위부터 5위까지 알려주는 검색식을 부탁드립니다 상승갭 하락갭 각각 하나씩 검색식 짜주시면 감사하겠습니다 감사합니다
프로필 이미지
그리즐리
2021-02-15
607
글번호 146308
검색
답변완료

수식 좀 다시 요청 드립니다.(줄)

* 새해복 많아 받으시기 바랍니다. * 아래 줄긋기가 안되는데 수식 수정 좀 요청 드립니다. <기준> 30분봉전 가격(C[30]) 을 기준으로 현재봉(C[1]) 까지 30분봉전 가격(C[30]) 보다 크면 BLUE 30분봉전 가격(C[30]) 보다 작으면 BLACK 입니다. ## 30봉 전가격 기준 현재봉 연결선 Input: H7(30) ; Var : TL51(0),TL52(0),TL53(0),TL54(0); TL_Delete(TL51); TL_Delete(TL52); var1 = c[H7]; if c > var1 then { TL51 = TL_New_Self(sdate,stime,h,sdate,stime,L); TL_SetColor(TL51,BLUE); TL_SetColor(TL52,BLUE); TL_SetSize(TL51,5); TL_SetSize(TL52,5); } if c < var1 then { TL51 = TL_New_Self(sdate,stime,h,sdate,stime,L); TL_SetColor(TL51,BLACK); TL_SetColor(TL52,BLACK); TL_SetSize(TL51,5); TL_SetSize(TL52,5); } * 새해에도 항상 건강 하십시요.
프로필 이미지
요타
2021-02-14
524
글번호 146307
지표

234fsdae 님에 의해서 삭제되었습니다.

프로필 이미지
234fsdae
2021-02-14
70
글번호 146306
시스템
답변완료

문의 드립니다

if&nbsp;MarketPosition&nbsp;<=&nbsp;0&nbsp;Then &nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;조건수식1&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;CurrentContracts&nbsp;<&nbsp;1&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("매수1",OnClose,def,1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;조건수식2&nbsp;and&nbsp;CurrentContracts&nbsp;<&nbsp;2&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("매수2",OnClose,def,1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;} if MarketPosition == 1 Then { if 조건수식3 Then { if CurrentContracts < 1 Then buy("수1",OnClose,def,1); } Else { if 조건수식4 and CurrentContracts < 2 Then buy("수2",OnClose,def,1); } } if MarketPosition == 1 Then { if 조건수식1 Then { exitlong("청산1",OnClose,def,"매수1"); } Else { if 조건수식1-2 and exitlong("청산1-1",OnClose,def,"매수1"); } if 조건수식2 Then { exitlong("청산2",OnClose,def,"수1"); } Else { if 조건수식2-1 and exitlong("청산2-1",OnClose,def,"수1"); } if 조건수식3 Then { exitlong("청산3",OnClose,def,"매수2"); } Else { if 조건수식3-1 and exitlong("청산3-1",OnClose,def,"매수2"); } if 조건수식4 Then { exitlong("청산4",OnClose,def,"수2"); } Else { if 조건수식4-1 and exitlong("청산4-1",OnClose,def,"수2"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } 1. 위 수식에서 진입별 청산수식이 맞나요 2. 익절 및 손절방법을 각가 별도로 할 수 있도록 변경하여 주시면 감사드립니다 (매수1, 수1, 매수2, 수2)
프로필 이미지
남산
2021-02-15
524
글번호 146305
시스템
답변완료

함수문의 드립니다

명절 잘 쉬셨는지요~~ 1. 예트 스토캐스틱 지표 >지표속정>일반 에 기본적k가 fast %k와 같은건지요? 2. 아래의 논리는 맞는건지요? fast %K = (종가-na일rks 저가) / (na일간 고가 - na일간 저가) x 100 (변수 1개) fast %D = fast %K 의 nb일간 평균(변수 2개 / na, nb) slow %K = fast %D slow %D = slow %K 의 nc일간 평균(변수 3개 / na, nb, nc) 3. 상기 논리가 맞다면 fast %K 함수 요청드립니다.
프로필 이미지
코퍼
2021-02-14
481
글번호 146304
사용자 함수
답변완료

수정부탁드립니다

안녕하세요...글번호70565 (시간지표)수정부탁드립니다. 수정1..위그림은30초차트입니다.시간라인이 정시보다30초&#45735;게 그려지네요 1분차트에적용 해보니 9/31분 10시1분그려지네요,정시에그려지게 부탁드립니다.(9/30분 10/00) 수정2..지표라인이 데이터1 에서만 그려지은것을 데이터3 까지그려지게요.그것이안되면 데이터2 데이터3 각각의 지표수식으로될수있게 부탁드립니다. 수정3..지표라인의 기존두께가 1 이면 2로수정. 라인색은검정색으로요. 수고하세요...꾸벅
프로필 이미지
보인다
2021-02-14
743
글번호 146303
지표
답변완료

시스템 부탁드립니다. 감사합니다.

외국 사이트에 있는 Heikin Ashi 수식과 다비스 박스입니다. 매수는 Heikin Ashi 수식에서 buy신호만을 이용하고 싶고 청산은 설정한 이격도에서 70프로를 청산하고 나머지 30프로는 다비스 박스 bottom box 보다 종가가 아래 있으면 나머지 30프로를 청산하는 시스템을 만들고 싶습니다. 복잡한걸 의뢰해드려 죄송합니다. 천천히 해주셔도 됩니다. 감사합니다. 1. Heikin Ashi study("Heikin Ashi Smoothed Buy Sell ", overlay=true) EMAlength=input(55,"EMA LENGTH?") src=ohlc4 haOpen=0.0 haOpen := (src + nz(haOpen[1]))/2 haC=(ohlc4+nz(haOpen)+max(high,nz(haOpen))+min(low,nz(haOpen)))/4 EMA1=ema(haC,EMAlength) EMA2=ema(EMA1,EMAlength) EMA3=ema(EMA2,EMAlength) TMA1=3*EMA1-3*EMA2+EMA3 EMA4=ema(TMA1,EMAlength) EMA5=ema(EMA4,EMAlength) EMA6=ema(EMA5,EMAlength) TMA2=3*EMA4-3*EMA5+EMA6 IPEK=TMA1-TMA2 YASIN=TMA1+IPEK EMA7=ema(hlc3,EMAlength) EMA8=ema(EMA7,EMAlength) EMA9=ema(EMA8,EMAlength) TMA3=3*EMA7-3*EMA8+EMA9 EMA10=ema(TMA3,EMAlength) EMA11=ema(EMA10,EMAlength) EMA12=ema(EMA11,EMAlength) TMA4=3*EMA10-3*EMA11+EMA12 IPEK1=TMA3-TMA4 YASIN1=TMA3+IPEK1 mavi=YASIN1 kirmizi=YASIN longCond=mavi>kirmizi and mavi[1]<=kirmizi[1] shortCond=mavi<kirmizi and mavi[1]>=kirmizi[1] trendState = kirmizi < mavi ? true : kirmizi > mavi ? false : trendState[1] closePlot = plot(kirmizi, title = "Close Line", color = #009900, linewidth = 10, style = line, transp = 90) openPlot = plot(mavi, title = "Open Line", color = #CC0000, linewidth = 10, style = line, transp = 90) closePlotU = plot(trendState ? kirmizi : na, transp = 100, editable = false) openPlotU = plot(trendState ? mavi : na, transp = 100, editable = false) closePlotD = plot(trendState ? na : kirmizi, transp = 100, editable = false) openPlotD = plot(trendState ? na : mavi, transp = 100, editable = false) fill(openPlotU, closePlotU, title = "Up Trend Fill", color = #009900, transp = 1) fill(openPlotD, closePlotD, title = "Down Trend Fill", color = #CC0000, transp = 1) last_signal = 0 long_final = longCond and (nz(last_signal[1]) == 0 or nz(last_signal[1]) == -1) short_final = shortCond and (nz(last_signal[1]) == 0 or nz(last_signal[1]) == 1) alertcondition(long_final, title="buy alarm", message="buy signal!!!") alertcondition(short_final, title="sell alarm", message="sell signal!!!") last_signal := long_final ? 1 : short_final ? -1 : last_signal[1] plotshape(long_final, style=shape.labelup, location=location.belowbar, color=green,size=size.tiny,title="buy label",text="BUY",textcolor=white) plotshape(short_final, style=shape.labeldown, location=location.abovebar, color=red,size=size.tiny,title="sell label",text="SELL",textcolor=white) 2. Darbis box //@version=4 study("Darvas Box Buy Sell", overlay=true) boxp = input(defval=5, title="Length", minval=1, maxval=500) LL = lowest(low, boxp) k1 = highest(high, boxp) k2 = highest(high, boxp - 1) k3 = highest(high, boxp - 2) NH = valuewhen(high > k1[1], high, 0) box1 = k3 < k2 TopBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, NH, 0) BottomBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, LL, 0) plot(TopBox, linewidth=3, color=#00FF00, title="TBbox") plot(BottomBox, linewidth=3, color=#FF0000, title="BBbox") Buy = crossover(close, TopBox) Sell = crossunder(close, BottomBox) alertcondition(Buy, title="Buy Signal", message="Buy") alertcondition(Sell, title="Sell Signal", message="Sell") plotshape(Buy, style=shape.labelup, location=location.belowbar, transp=0, color=#00FF00, size=size.tiny, title="Buy Signal", text="Buy", textcolor=color.black) plotshape(Sell, style=shape.labeldown, location=location.abovebar, transp=0, color=#FF0000, size=size.tiny, title="Sell Signal", text="Sell", textcolor=color.white)
프로필 이미지
도여니
2021-02-13
757
글번호 146302
시스템
답변완료

수정 부탁드립니다.

안녕하세요? 아래의 수식에서 수정과 추가하고싶은 부분이 있습니다. 1) 진입봉 양봉(외부변수) / 진입봉 음봉(외부변수) 각각 몸통길이 외부변수 2) 현재 골든 및 데드크로스에 청산이 되고있는데, 설정한 익절/손절 이 먼저 도닫하게된다면, 설정한 익절/손절에 청산이 되었으면 좋겠습니다. 매수 포지션일시, 데드크로스 또는 설정해놓은 익손절 중에 먼저 도달하는것에 청산. 매도 포지션일시, 골든크로스 또는 설정해놓은 익손절 중에 먼저 도달하는것에 청산. 이런식으로 되었으면 좋겠습니다. 명절 잘보내시고 복많이받으세요. 부탁드립니다.감사합니다. input : P1(5),P2(20); input : 익절틱수(50),손절틱수(50),진입횟수(3); var : entry(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); Var2 = ma(C,P2); if MarketPosition == 0 and var1 > Var2 and C < O and entry < 진입횟수 Then Sell(); if MarketPosition == 0 and var1 < Var2 and C > O and entry < 진입횟수 Then Buy(); if MarketPosition == -1 and CrossUp(var1,Var2) Then ExitShort(); if MarketPosition == 1 and CrossDown(var1,Var2) Then ExitLong(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
대구어린울프
2021-02-13
621
글번호 146301
시스템
답변완료

오류 해결 좀 부탁드립니다.

실전 돌리고 있는 전략 중 하나가, 한번 진입하면 무조건 이틀 보유하는 전략입니다. (정확히 말하면 아침에 사서, 하루 오버나잇 후 다음날 종가 무렵에 파는 전략입니다) 그런데 제가 짧은 초봉을 이용하다보니 10000봉을 불러와봐야 고작 1주일 정도만 이용 가능합니다. 그러다보니 하루 하루 지날때마다 진입된 상태가 변경되는 문제가 발생하고 있습니다. 예를 들어 설명드리면: 어제는 5일입니다. 그리고 어제까지 1, 2, 3, 4, 5일의 데이터를 불러와서 신호가 나왔습니다. 1일에서 사서 2일에 팔고, 3일에서 사서 4일에 팔고, 다시 5일에 사서 오버나잇을 했습니다. 오늘은 6일입니다. 오늘 불러와진 데이터는 2, 3, 4, 5, 6일입니다. 그러다보니 가져온 데이터의 첫날인 2일날 신호가 발생하여, 2일에 사서 3일에 팔고, 4일에 사서 5일에 팔고, 6일 오전에 다시 진입한 것으로 되어 있습니다. 어제 이미 사서 오버나잇을 했는데, 오늘 다시 열어서 데이터를 다시 불러오다보니 어제 사둔 신호는 시스템 차트 상에서 사라지고, 오늘 새로운 신호가 나옵니다. 이런 문제는 어떻게 해결하면 좋을지 궁금합니다. 감사합니다. 그런데 문제는
프로필 이미지
중박주식
2021-02-12
682
글번호 146299
시스템