커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3128
글번호 230811
답변완료
종목검색식 부탁드립니다.
1. DMI (14) 마이너스가 "기준선 15 이하 (15 포함)" 에 있는 모든종목 검색식 부탁 드립니다.2. DMI(14) 마이너스가 "기준선 20 이상 (20포함)"에 있는 모든 종목 검색식 부탁합니다.
2026-04-10
585
글번호 231556
답변완료
이동평균
전에 (글번호 140052)로, 장시작시 시작하는 MACD를 문의하였습니다.이동평균선(5,20)도, MACD처럼 장시작시 시작하게 작성할 수 있나요 Input : 이동평균1(5), 이동평균2(20),미리 감사드립니다.
2026-04-10
619
글번호 231555
답변완료
수식부탁합니다.
if mav2400 > mav1200 and crossuP(mav300,mav1200) 1번 저장if mav2400 > mav1200 and crossDown(mav300,mav1200) 2번 저장1번이 > 2번 성립할 때if crossuP(mav600,mav1200) 매수진입진입식 만들어 주세요.감사합니다.
2026-04-10
659
글번호 231553
답변완료
문의
indicator("zero lag up", shorttitle="zero lag up", overlay=true)length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")green = input.color(#00ffbb, "Bullish Color", group = "Appearance")red = input.color(#ff1100, "Bearish Color", group = "Appearance")src = closelag = math.floor((length - 1) / 2)zlema = ta.ema(src + (src - src[lag]), length)volatility = ta.highest(ta.atr(length), length*3) * multvar trend = 0if ta.crossover(close, zlema+volatility) trend := 1if ta.crossunder(close, zlema-volatility) trend := -1zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)plotchar(ta.crossover(close, zlema) and trend == 1 and trend[1] == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)plotchar(ta.crossunder(close, zlema) and trend == -1 and trend[1] == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)s1 = request.security(syminfo.tickerid, t1, trend)s2 = request.security(syminfo.tickerid, t2, trend)s3 = request.security(syminfo.tickerid, t3, trend)s4 = request.security(syminfo.tickerid, t4, trend)s5 = request.security(syminfo.tickerid, t5, trend)s1a = s1 == 1 ? "Bullish" : "Bearish"s2a = s2 == 1 ? "Bullish" : "Bearish"s3a = s3 == 1 ? "Bullish" : "Bearish"s4a = s4 == 1 ? "Bullish" : "Bearish"s5a = s5 == 1 ? "Bullish" : "Bearish"if barstate.islast var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1) table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))alertcondition(ta.crossover(close, zlema) and trend == 1 and trend[1] == 1, "Bullish Entry Signal", message="Bullish Entry Signal detected. Consider entering a long position.")alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend[1] == -1, "Bearish Entry Signal", message="Bearish Entry Signal detected. Consider entering a short position.")alertcondition(ta.crossover(trend, 0), "Bullish Trend")alertcondition(ta.crossunder(trend, 0), "Bearish Trend")alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")alertcondition(ta.crossover(close, zlema) and trend == 1 and trend[1] == 1, "Bullish Entry")alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend[1] == -1, "Bearish Entry")len = input.int(14, "길이", minval=1)offsetFwd = input.int(2, "오프셋(+)", minval=0, maxval=200)alphaAB = input.int(80, "A–B 구름 투명도", minval=0, maxval=100)alphaAC = input.int(65, "A–C 구름 투명도", minval=0, maxval=100)f_mid(h,l,n) => (ta.highest(h,n) + ta.lowest(l,n)) * 0.5midA = f_mid(high, low, len)midB = f_mid(high, low, len*2)midC = f_mid(high, low, len*4)colA = close >= midA ? color.teal : color.redpA = plot(midA, title="Lead A", offset=offsetFwd, color=colA, linewidth=2)pB = plot(midB, title="Lead B", offset=offsetFwd, display=display.none)pC = plot(midC, title="Lead C", offset=offsetFwd, display=display.none)bullAB = color.new(#22B8A8, alphaAB)bearAB = color.new(#D94B48, alphaAB)bullAC = color.new(#22B8A8, alphaAC)bearAC = color.new(#D94B48, alphaAC)fill(pA, pB, color = midA >= midB ? bullAB : bearAB, title="AB Cloud")fill(pA, pC, color = midA >= midC ? bullAC : bearAC, title="AC Cloud")부탁드립니다
2026-04-10
562
글번호 231552
답변완료
부탁드립니다
아래수식에 신호가 나오는 캔들에 라인과 수치 표시좀 부탁드립니다매수신호 는 신호캔들 저가에매도신호는 신호캔들 고가에 부탁드립니다var : 기준선(0),t(0),hd(0),ht(0),hh(0),ld(0),lt(0),ll(0);var : TL1(0),TL2(0),TX1(0),TX2(0);기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;If 기준선 > 기준선[1] Then t = 1;If 기준선 < 기준선[1] Then t = -1;if t == 1 and t != t[1] Then{ Buy("b"); hh = h; hd = sDate; ht = sTime; TL_SetColor(TL2,Red); if ll > 0 Then { value1 = ld; value2 = lt; value3 = ll;// TL1 = TL_New(value1,Value2,Value3,sDate,sTime,Value3); }}Else{ TL_SetEnd(TL1,sDate,stime,Value3);} if t == -1 and t != t[1] then{ Sell("s"); ll = l; ld = sDate; lt = sTime; TL_SetColor(TL1,Blue); if hh > 0 Then { value4 = hd; value5 = ht; value6 = hh;// TL2 = TL_New(value4,Value5,Value6,sDate,sTime,Value6); }}Else{ TL_SetEnd(TL2,sDate,sTime,Value6);}if t == 1 Then{ if h > hh Then { hh = h; hd = sDate; ht = sTime; }}if t == -1 Then{ if l < ll Then { ll = l; ld = sDate; lt = sTime; }}
2026-04-10
586
글번호 231551
답변완료
문의 드립니다.
일봉상 주가가 5일선 아래에서 움직이다가 상승하여 5일선 위로 돌파할때 이때 가장최근의 5일선아래의 일봉상 저가를 A 라고 할때 다시 5일선 위에서 움직이던 주가가 5일선 아래로 하향 돌파후 A 의 저가보다 내려가지 않고다시 상승하여 5일선 돌파한 종목을 검색하는 식을 만들고 싶습니다.
2026-04-09
526
글번호 231550
답변완료
수식작성 부탁드립니다.
안녕하세요 운영자님제가 이번에 부탁드릴 시스템은매수조건 : 10일선>34일선 정배열, RSI 55선을 밑에서 위로 상향돌파 시 매수진입하고, 청산은 RSI 가 80선을 하향돌파 시 또는 5일선 하향돌파시 청산매도조건 : 10일선<34일선 역배열, RSI 45선을 위에서 밑으로 하향돌파 시 매도진입하고, 청산은 RSI 가 20선을 상향돌파 시 또는 5일선 상향돌파시 청산수고하세요..
2026-04-09
514
글번호 231548
답변완료
종목검색식 부탁드립니다.
(일)0봉전 Envelope(20,20) 종가가 Envelope 하한선 2%이내 근접KOSPI200 한해서, 종목 검색식 부탁드립니다.
2026-04-09
523
글번호 231533
답변완료
안녕하세요 추가문의 드립니다.
어제 예스스팟 관련 답변 감사히 잘 받았습니다.정상적으로 구동이 되는데요.알람소리 나오고[6131]예스스팟 창에 스크립트메세지에 표시도 잘됩니다.제가 궁금한거는요어제 답변중에 // 포착 알림 (사운드 및 팝업) Main.PlaySound("C:\\예스트레이더\\data\\Sound\\Stop.wav"); // 알림창 문구도 [스탁5.3]으로 통일 Main.Alert("!!! [스탁 5.3 포착] " + ItemName + " !!!");포착알림에 사운드는 되는데 팝업창은 안뜨는것 같습니다.알림창 문구는 스크립트메세지에 표시되는걸 말씀하시는건지요?아니면, 별도의 리스트 창이 있는건지요?팝업창이 뜨는지, 메세지리스트창이 별도로 있는지 질문드립니다.감사합니다.
2026-04-09
517
글번호 231530