커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1514
글번호 230811
답변완료
조건검색문의드립니다
아래 수식을 조건검색식으로 변환부탁드립니다A1=VR(20)-VR(60)/VR(60)*100;CrossUp(C, ma(C, 60)) &&A1 >=100
2025-11-26
110
글번호 228407
답변완료
종목검색식 변경
MA60 = ma(C, 기간A);돌파 = CrossUp(C, MA60);눌림시작 = CrossDown(C, MA60);횟수 = CountSince(돌파, 눌림시작);첫눌림 = 횟수 == 1 && 횟수(1) == 0;첫눌림발생봉 = BarsSince(첫눌림);돌파조건 = sum(돌파(첫눌림발생봉), 기간B) == 1;유효첫눌림 = 첫눌림 && 돌파조건;눌림목고가 = ValueWhen(1, 유효첫눌림, H);눌림목거래량 = ValueWhen(1, 유효첫눌림, V);첫눌림이후경과 = BarsSince(유효첫눌림);기간조건 = 첫눌림이후경과 <= 15 && 첫눌림이후경과 > 0;고점돌파 = CrossUp(C, 눌림목고가);거래량조건 = V > 눌림목거래량;당일거래대금 = 거래대금 > 1억;기간조건 && 고점돌파 && 거래량조건 && 당일거래대금위 키움조건의 신호검색을 예스랭귀지 종목검색식으로 만들고 싶습니다.30일치를 한번에 검색할 수 있게 부탁드립니다. 검색된 날짜도 나오게 해주세요
2025-11-26
170
글번호 228406
답변완료
Dynamic Darvas Line 예스랭귀지로 변환 꼭 부탁드리겠습니다.
Dynamic Darvas Line이 트레이딩뷰에 오픈 소스로 있어 예스랭귀지로 변환 부탁드리고자 합니다. 지표는 아래와 같습니다. 그리고 대단히 죄송합니다마는, 매수 시점을 찾을 수 있는 종목 검색식도 가능하면 함께 부탁드립니다. 미리 감사드립니다. indicator('Dynamic Darvas Lines [CHE]', overlay=true)// ============================== // Parameters Group // ============================== boxLength = input.int(defval=5, title='Box Length', minval=3, maxval=500, group='Parameters', tooltip='Length of the box in bars.')debugMode = input.bool(defval=false, title='Debug Mode', group='Debugging', tooltip='Enable to display debug lines for lowest low and highest high.')// ============================== // Color Management Group // ============================== topBoxColor = input.color(color.rgb(76, 175, 80, 80), title='Top of Box Color', group='Colors', tooltip='Color for the top line of the box with transparency.')bottomBoxColor = input.color(color.rgb(255, 82, 82, 80), title='Bottom of Box Color', group='Colors', tooltip='Color for the bottom line of the box with transparency.')buySignalColor = input.color(color.green, title='Buy Signal Color', group='Colors', tooltip='Color for the buy signal labels.')sellSignalColor = input.color(color.red, title='Sell Signal Color', group='Colors', tooltip='Color for the sell signal labels.')plotCircleBuyColor = input.color(color.rgb(76, 175, 80, 0), title='Buy Plot Circle Color', group='Colors', tooltip='Color for the buy signal circles.')plotCircleSellColor = input.color(color.rgb(255, 82, 82, 0), title='Sell Plot Circle Color', group='Colors', tooltip='Color for the sell signal circles.')debugLowestLowColor = input.color(color.blue, title='Debug Lowest Low Color', group='Debugging', tooltip='Color for the debug line showing the lowest low.')debugHighestHighColor = input.color(color.orange, title='Debug Highest High Color', group='Debugging', tooltip='Color for the debug line showing the highest high.')// ============================== // Functions // ============================== f_lowest(series, length) => var float min_value = na min_value := series[length - 1] for i = 0 to length - 2 min_value := na(min_value) or series[i] < min_value ? series[i] : min_value min_valuef_highest(series, length) => var float max_value = na max_value := series[length - 1] for i = 0 to length - 2 max_value := na(max_value) or series[i] > max_value ? series[i] : max_value max_valuef_valueWhen(condition, series, occurrence) => var float value = na if (condition) value := series valuef_barsSince(condition) => var int bars = 0 bars := condition ? 0 : (bars[1] + 1) barsf_crossover(series1, series2) => crossover = (series1[1] < series2[1]) and (series1 > series2) crossoverf_crossunder(series1, series2) => crossunder = (series1[1] > series2[1]) and (series1 < series2) crossunder// ============================== // Calculations for Box Lines // ============================== lowestLow = f_lowest(low, boxLength) highestHigh = f_highest(high, boxLength) recentHigh = f_valueWhen(high > f_highest(high, boxLength - 1)[1], high, 0) isBoxCondition = f_highest(high, boxLength - 2) < f_highest(high, boxLength - 1) topBox = f_valueWhen(f_barsSince(high > f_highest(high, boxLength - 1)[1]) == boxLength - 2 and isBoxCondition, recentHigh, 0) bottomBox = f_valueWhen(f_barsSince(high > f_highest(high, boxLength - 1)[1]) == boxLength - 2 and isBoxCondition, lowestLow, 0)var string lastSignal = 'None'// ============================== // Signal Detection // ============================== buySignal = f_crossover(close, topBox) and (lastSignal != 'Buy') sellSignal = f_crossunder(close, bottomBox) and (lastSignal != 'Sell')if buySignal lastSignal := 'Buy' if sellSignal lastSignal := 'Sell'var float saved_close = nasaved_close := buySignal or sellSignal ? close : saved_close// ============================== // Plotting // ============================== // Plot the saved close prices with circles plot(saved_close, color = lastSignal == "Buy" ? plotCircleBuyColor : plotCircleSellColor, style = plot.style_circles, title='Signal Close Price')// Plot the box lines with user-defined colors plot(topBox, linewidth=2, color=topBoxColor, title='Top of Box') plot(bottomBox, linewidth=2, color=bottomBoxColor, title='Bottom of Box')// ============================== // Alerts // ============================== alertcondition(buySignal, title='Buy Signal', message='Buy Signal Triggered') alertcondition(sellSignal, title='Sell Signal', message='Sell Signal Triggered')// ============================== // Plotting Signal Shapes // ============================== plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(buySignalColor, 0), size=size.tiny, title='Buy Signal', text='Buy', textcolor=color.new(color.white, 0)) plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(sellSignalColor, 0), size=size.tiny, title='Sell Signal', text='Sell', textcolor=color.new(color.white, 0))// ============================== // Debugging Lines // ============================== plot(debugMode ? lowestLow : na, color=debugLowestLowColor, title='Debug Lowest Low', linewidth=1, style=plot.style_line) plot(debugMode ? highestHigh : na, color=debugHighestHighColor, title='Debug Highest High', linewidth=1, style=plot.style_line)
2025-11-26
306
글번호 228405
답변완료
문의 드립니다.
안녕하세요. 많은 정보 주심에 감사 드립니다. RSI(5)가 70 이상 일 때, 현재 가격이 아래의 라인을 돌파하는 ( 또는 아래 라인 위에 있는 ) 종목의 검색식을 부탁드립니다.A=ma(v,27);B=highestsince(1, A(2)<A(1) and A(1)>A,A);Bb=Lowestsince(1, A(2)<A(1) and A(1)>A,A);b1=crossup(Bb,B);b2=crossdown(Bb,B);valuewhen(1, b1 or b2,O)감사합니다.
2025-11-25
160
글번호 228404
답변완료
종목검색식 변환요청드립니다.
변환 요청에 바로 작성해 주셔서 항상 감사드립니다.아래 키움 수식을 Yeslanguage 종목검색식으로 변환 요청드립니다.바닥 = MA(C, 120);종목 = (바닥 + AVGIF(C - 바닥, -1, 0.0) - 2*STDEVIF(C-바닥, -1, 0.0));잡기 = (종목*1);Crossup(C,잡기) &&Crossup(C, bbandsdown(95,2))감사합니다.
2025-11-25
124
글번호 228402
답변완료
문의 드립니다
스토캐스틱 (25,6,6) 골든크로스 오늘 발생, 50일 사이 2번 이상 발생하고오늘 골든크로스는 지수 240이평 위에서 발생, 직전의 골든크로스는 이평선 아래에서 발생한 종목 검색식 부탁합니다.
2025-11-25
112
글번호 228401
답변완료
종목검색식 부탁드림니다.
안녕하세요?아래의 수식을 고쳐주셔으면 합니다.자꾸 에러가 나서요Input: Period(5), Smooth(3), Smooth2(3), UP_RATE(1.03), DROP_RATE(0.99), RebRate(1.01);Var: UpCandle(False), Pullback1(False), UpPullSignal(False), ShortDrop(False), Pullback_S(False), Rebound(False), Rebound_S(False), VolUp(False), StrongBody(False), B_BUY(False), B_BEND(False), m_avg(0), m_mfi(0), m_cci(0), mid(0), dev(0), lower_3(0), Signal(False);UpCandle = High >= Open * UP_RATE;Pullback1 = Close <= High * DROP_RATE;UpPullSignal = UpCandle AND Pullback1;ShortDrop = Close < Close[1];Pullback_S = CountIf(ShortDrop, Period) >= 2;Rebound = High >= Low * RebRate;Rebound_S = CountIf(Rebound, Smooth2) >= 1;VolUp = Volume > Volume[1] * 1.2;StrongBody = Abs(Close - Open) >= Abs(Close[1] - Open[1]);B_BUY = UpPullSignal AND Pullback_S AND Rebound_S AND VolUp AND StrongBody;m_avg = MA(Close, 200);m_mfi = MFI(14);m_cci = CCI(14);mid = (Close + High + Low) / 3;dev = 3 * StdDev(mid, 20);lower_3 = mid - (0.5 * dev);B_BEND = Close >= m_avg AND Close > Open AND (CrossUp(m_mfi, 20) OR CrossUp(m_cci, -100)) AND (Low[1] <= lower_3 OR Low <= lower_3);Signal = B_BUY AND B_BEND;Find(Signal);
2025-11-25
172
글번호 228399
답변완료
문의 드립니다
var1 = DayHigh - DayLow;Plot1(DayHigh(0), "고가");Plot2(Daylow(0), "저가");Plot3(DayLow(0)+(DayHigh(0)-DayLow(0))*0.500, "중간선");Plot4(DayLow(0)+(var1*0.382), "저0.382");Plot5(DayLow(0)+(var1 *0.236), "저0.236");Plot6(DayHigh(0) - (var1 * 0.382), "고0.382");Plot7(DayHigh(0)-(var1 *0.236), "고0.236");----------------------------------------------복합차트에 주간 당일의 피보나치를 표시하고 싶습니다감사합니다
2025-11-25
122
글번호 228393
답변완료
지표식 부탁합니다
수고하십니다지표식 부탁합니다5분봉이나 10분봉에서 첫번째봉의 시가와 종가를 표시하는 선을 만들어 주시기 바랍니다
2025-11-25
106
글번호 228389