커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

안녕하세요

3년만이네요...저를 기억하실자 모르겠지만... 몸이아파서 오래 살지 못합니다. 보내드리고싶은게있는데 김윤환연구원님 맞으신가요??? 맞다면 이메일 남겨주시면 자료 보내드리겠습니다.
프로필 이미지
카이니스
2025-11-19
223
글번호 228206
시스템
답변완료

검색식 부탁합니다

A = Supertrend(period, multiplier)B = CrossDown(C,A)W = ValueWhen(1, B, B(1))1. B 발생 후 W라인을 N봉 내 돌파한 항목 검색식2. 분봉에서 당일 내 발생한 모든 항목 검색식부탁합니다. 수고하세요....
프로필 이미지
다리
2025-11-19
201
글번호 228205
종목검색
답변완료

부탁합니다.

안녕하세요.아래 내용을 변환부탁 합니다.환절기에 건강관리 잘하시고요.length1 = input(10, title="BB1 기간 (Length 1)", type=input.integer)mult1 = input(2.5, title="BB1 승수 (Mult 1)", type=input.float)length2 = input(20, title="BB2 기간 (Length 2)", type=input.integer)mult2 = input(2.0, title="BB2 승수 (Mult 2)", type=input.float)trend_length = input(10, title="중심선", type=input.integer)channel_offset = input(100.0, title="채널간격", type=input.float)flat_length = input(10, title="기간", type=input.integer)flat_threshold = input(0.0005, title="오차", type=input.float, step=0.0001)toggleBreaks_sr = input(true, title = "신호")leftBars_sr = input(10, title = "좌측")rightBars_sr = input(0, title = "우측")volumeThresh = input(20, title = "임계값")length_tl = input(20, 'Trendline')mult_tl = input(1.0, 'Slope', minval = 0, step = 0.1)calcMethod_tl = input(title='Method', type=input.string, options=['Atr','Stdev','Linreg'], defval='Atr')backpaint_tl = input(true, title='Backpaint')upCss_tl = input(color.Blue, 'Up', group = 'Style')dnCss_tl = input(color.red, 'Down', group = 'Style')showExt_tl = input(true, 'Lines')basis1 = sma(close, length1)dev1 = stdev(close, length1)upper1 = basis1 + mult1 * dev1 lower1 = basis1 - mult1 * dev1 basis2 = sma(close, length2)dev2 = stdev(close, length2)upper2 = basis2 + mult2 * dev2lower2 = basis2 - mult2 * dev2trend = sma(close, trend_length)trend_upper_channel = trend + channel_offsettrend_lower_channel = trend - channel_offsetema_5 = ema(close, 5)ema_10 = ema(close, 10)ema_20 = ema(close, 20)momentum_line_1 = (ema_5 + ema_10) / 2momentum_line_2 = (ema_10 + ema_20) / 2highUsePivot = fixnan(pivothigh(leftBars_sr, rightBars_sr)[1])lowUsePivot = fixnan(pivotlow(leftBars_sr, rightBars_sr)[1])short = ema(volume, 5)long = ema(volume, 10)osc = 100 * (short - long) / longvar upper_tl = 0.var lower_tl = 0.var slope_ph_tl = 0.var slope_pl_tl = 0.var offset_tl = backpaint_tl ? length_tl : 0n = bar_indexsrc = closeph_tl = pivothigh(length_tl, length_tl)pl_tl = pivotlow(length_tl, length_tl)slope_tl = 0.if calcMethod_tl == 'Atr' slope_tl := atr(length_tl) / length_tl * mult_tlelse if calcMethod_tl == 'Stdev' slope_tl := stdev(src, length_tl) / length_tl * mult_tlelse slope_tl := abs(linreg(src, length_tl, 0) - linreg(src[1], length_tl, 1)) * mult_tlslope_ph_tl := ph_tl ? slope_tl : slope_ph_tlslope_pl_tl := pl_tl ? slope_tl : slope_pl_tlupper_tl := ph_tl ? ph_tl : upper_tl - slope_ph_tllower_tl := pl_tl ? pl_tl : lower_tl + slope_pl_tlvar upos_tl = 0var dnos_tl = 0upos_tl := ph_tl ? 0 : close > upper_tl - slope_ph_tl * length_tl ? 1 : upos_tldnos_tl := pl_tl ? 0 : close < lower_tl + slope_pl_tl * length_tl ? 1 : dnos_tlbuy_signal = crossover(momentum_line_1, trend) sell_signal = crossunder(momentum_line_1, trend) upper_range = highest(upper2, flat_length) - lowest(upper2, flat_length)lower_range = highest(lower2, flat_length) - lowest(lower2, flat_length)is_flat = upper_range < flat_threshold and lower_range < flat_thresholdflat_breakout_buy = is_flat and crossover(close, upper2) flat_breakout_sell = is_flat and crossunder(close, lower2) retrace_buy_condition = low[1] < lower2[1] and close > lower2 retrace_sell_condition = high[1] > upper2[1] and close < upper2 retrace_buy_line = retrace_buy_condition ? close : naretrace_sell_line = retrace_sell_condition ? close : natouch_upper_and_up_candle = high >= upper2 and close > open touch_lower_and_down_candle = low <= lower2 and close < open candle_color = touch_upper_and_up_candle or touch_lower_and_down_candle ? color.yellow : nais_no_trade_zone = (trend_upper_channel > upper1) or (trend_lower_channel < lower1)no_trade_bgcolor = is_no_trade_zone ? color.new(color.red, 70) : na u1 = plot(upper1, title="Upper BB1", color=color.blue)u2 = plot(upper2, title="Upper BB2", color=color.navy)l1 = plot(lower1, title="Lower BB1", color=color.red)l2 = plot(lower2, title="Lower BB2", color=color.maroon)fill(u1, u2, color=color.new(color.blue, 80), title="Upper Fill")fill(l1, l2, color=color.new(color.red, 80), title="Lower Fill")plot(trend, title="MA", linewidth=2, color=color.black) plot(trend_upper_channel, title="상단", linewidth=1, color=color.white)plot(trend_lower_channel, title="하단", linewidth=1, color=color.white)is_channel_up = momentum_line_1 > momentum_line_2 and momentum_line_1 > momentum_line_1[1]is_channel_down = momentum_line_2 > momentum_line_1 and momentum_line_1 < momentum_line_1[1]momentum_channel_color = is_channel_up ? color.new(color.fuchsia, 70) : is_channel_down ? color.new(color.aqua, 70) : na m1 = plot(momentum_line_1, title="M1", linewidth=2, color=color.fuchsia) m2 = plot(momentum_line_2, title="M2", linewidth=2, color=color.aqua) fill(m1, m2, color=momentum_channel_color, title="Channel Fill")r_plot = plot(highUsePivot, color=change(highUsePivot) ? na : #FF0000, linewidth=3, offset=-1, title="Resistance")s_plot = plot(lowUsePivot, color=change(lowUsePivot) ? na : #233dee, linewidth=3, offset=-1, title="Support")plot(backpaint_tl ? upper_tl : upper_tl - slope_ph_tl * length_tl, 'Upper Trendline', color = ph_tl ? na : upCss_tl, offset = -offset_tl)plot(backpaint_tl ? lower_tl : lower_tl + slope_pl_tl * length_tl, 'Lower Trendline', color = pl_tl ? na : dnCss_tl, offset = -offset_tl)plot(retrace_buy_line, title="Retrace Buy Line", style=plot.style_circles, linewidth=4, color=color.green)plot(retrace_sell_line, title="Retrace Sell Line", style=plot.style_circles, linewidth=4, color=color.red)plotshape(flat_breakout_buy, location=location.belowbar, style=shape.circle, size=size.small, color=color.orange, title="Buy")plotshape(flat_breakout_sell, location=location.abovebar, style=shape.circle, size=size.small, color=color.purple, title="Sell")plotshape(buy_signal, location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green, title="Buy")plotshape(sell_signal, location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red, title="Sell")plotshape(toggleBreaks_sr and crossunder(close,lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title = "Sell", text = 'B', style = shape.labeldown, location = location.abovebar, color= color.red,textcolor = color.white, transp = 0, size = size.tiny) plotshape(toggleBreaks_sr and crossover(close,highUsePivot ) and not(open - low > close - open) and osc > volumeThresh, title = "Buy", text = 'B', style = shape.labelup, location = location.belowbar, color= color.green,textcolor = color.white, transp = 0, size = size.tiny)plotshape(upos_tl > upos_tl[1] ? low : na, "Upper" , shape.labelup , location.absolute , upCss_tl , text = "TL+" , textcolor = color.white , size = size.tiny)plotshape(dnos_tl > dnos_tl[1] ? high : na, "Lower" , shape.labeldown , location.absolute , dnCss_tl , text = "TL-" , textcolor = color.white , size = size.tiny)barcolor(candle_color)bgcolor(no_trade_bgcolor, title="Zone")alertcondition(upos_tl > upos_tl[1], 'Upward', 'upward')alertcondition(dnos_tl > dnos_tl[1], 'Downward', 'downward')alertcondition(crossunder(close,lowUsePivot) and osc > volumeThresh , title = "Support" , message = "Support")alertcondition(crossover(close,highUsePivot) and osc > volumeThresh, title = "Resistance" , message = "Resistance")
프로필 이미지
newstory
2025-11-19
340
글번호 228204
지표
답변완료

조건검색문의드립니다

2개 조건검색식 부탁드립니다 항상 감사드립니다^^[1]수식이평 = ma(C, 120);테마 = TEMA(C, 기간);기준 = (highest(high, 중간값)+lowest(low, 중간값))/2;돌파 = CrossUp(기준, 테마);돌파 && C > 이평지표변수기간 20중간값 26[2]수식(위수식에서 추가로 돌파시 1)거래량: V > MA(V,20) 2)ADX(14) > 20 2가지조건 추가해서 부탁드립니다)이평 = ma(C, 120);테마 = TEMA(C, 기간);기준 = (highest(high, 중간값)+lowest(low, 중간값))/2;돌파 = CrossUp(기준, 테마);돌파 && C > 이평지표변수기간 20중간값 26문의) 핸드폰 앱에서 예스스탁 내가만든조건검색기 종목 검색하는 방법이 있나요?
프로필 이미지
해피럭키
2025-11-19
248
글번호 228200
종목검색
답변완료

문의드립니다.

질문1var1 = ma(c,20); var2 = ma(c,60); if crossup(var1,var2) then plot1(1); 이런식으로 골드크로스 날만 지표값을 1로 만들어서(막대그래프) 확인해 보고 싶은데 차트 전체가 아니라 혹시 25년 8월 20일 이렇게 특정 날짜부터 시작해서 표시할 수 있나요??질문2plotbaseline을 시용하면 가로로 선을 그을 수 있는데 혹시 세로로 특정 날짜에 선을 긎는 방법도 있는지 궁금합니다.
프로필 이미지
확실한수익
2025-11-19
189
글번호 228197
지표
답변완료

종목검색 부탁 드립니다.

수고가 많으십니다.아래의 신호 수식을 검색식으로 부탁 드립니다.감사합니다.A=Highest(Dayclose(),60);B=Lowest(Dayclose(),60);D=Sum(Countsince(Date!=Date(1),Dayclose()>=A(1)));X1=Floor(((A-B)*0.618)+B);D(1)-D(10)>=1 && L<=X1 && Dayclose()>=B && Dayclose()*0.98<=X1
프로필 이미지
포이순
2025-11-19
177
글번호 228196
검색
답변완료

부탁드립니다

var : tx1(0),tx2(0); if abs(c-o) <= (h-L)*(1/3) Then { if c > o Then { tx1 = Text_New(sDate,sTime,l,"●"); Text_SetStyle(tx1,2,0); Text_SetColor(tx1,Red); } if c < o Then { tx1 = Text_New(sDate,sTime,h,"●"); Text_SetStyle(tx1,2,1); Text_SetColor(tx1,Blue); } } if abs(c-o) <= (h-L)*(1/5) Then { if c > o Then { tx2 = Text_New(sDate,sTime,l-PriceScale*5,"●"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,Magenta); } if c < o Then { tx2 = Text_New(sDate,sTime,h+PriceScale*5,"●"); Text_SetStyle(tx2,2,1); Text_SetColor(tx2,Cyan); } } 위의 수식에서 음양봉 기준이 아닌 꼬리기준으로 수정 부탁드립니다 - 아래꼬리가 길면 아래꼬리 아래에 빨강점을 - 윗꼬리가 길면 윗꼬리 위에 파랑점으로 - 비율이 같다면 음양봉 기분으로 수정부탁드립니다
프로필 이미지
회원
2025-11-19
130
글번호 228195
지표
답변완료

종목조건검색식 문의드립니다

안녕하세요 ^^ 1. 항상 전일자 기준으로 1분봉에서 지수60이평선을 캔들고가가 골든크로스 할때를 성과검증을 위해 특정 시간과 분( 예를들어 2025년11월18일 9시23분)을 변수입력창에 입력하여 종목들이 검색되는 검색식을 알려주시면 감사하겠습니다 ^^ 더 좋은 방법도 부탁드립니다^^ 감사합니다2.그리고 1분봉 이라면 하루 몇시몆분으로 몇개의 봉을 말하는 건가요^^
프로필 이미지
감땡
2025-11-19
146
글번호 228194
종목검색
답변완료

진입시간 관련 문의드립니다.

항상 많은 도움 감사드립니다.예를들어 한 시스템 안에매수A매수B매도A매도B가 있습니다. 전체적인 거래 가능 시간 설정은 해 놓은 상태입니다. 그런데 매수A의 시간과 매도A의 거래 가능 시간을 전체 설정된 시간과 별도로 설정하려면 어떻게 해야 하나요?전체 거래 가능시간은 24시간을 해 놓은 상태인데. 매수A는 현지시간 기준 8시부터 16시까지는 거래 불가로 하고 싶습니다.매수A에 !(sTime>080000 && sTime<160000) 이 수식을 넣으니 다른 수식까지 그 시간에 작동을 안 하는 현상이 발생합니다.각각의 진입시간을 따로 설정할 수 있는 방법 도와 주셨으면 합니다. 감사합니다.
프로필 이미지
비정성시
2025-11-19
164
글번호 228193
시스템