커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
yamu
2025-05-09
1
글번호 190700
지표
답변완료

최적화 주기(기간)문의

분봉에 의해 거래를 하고자합니다. 변수값을 정하기 위해서는 최적화 작업을 거쳐야 하는데 최적화를 해 볼 수있는 최대한 기간(주기)를 알고싶습니다. 2분봉, 3분봉, 5분봉에 대한 최적화할 수 있는 최대한 기간(주기)를 부탁드립니다.
프로필 이미지
하날랑
2025-05-09
314
글번호 190686
시스템
답변완료

조건식으로 변형부탁드립니다

아래는 키움증권 영웅문에서 쓰고있는 신호수식인데요.. 조건식으로 변형하려고하는데 영웅문에서는 안되네요.. 조건식부탁드립니다 60분봉차트조건입니다 목=valuewhen(1,dayclose()> predayclose()*1.29,dayclose()); 표=valuewhen(1,dayclose()> predayclose()*1.29,dayopen()); 가=floor((목+표)/2); 조건 = crossdown(c, 가); 이후 = valuewhen(1, c, 조건); 카운트 = countsince(date!=date(1), 이후); 카운트 == 1&& 카운트(1) == 0
프로필 이미지
장대박
2025-05-09
408
글번호 190683
종목검색
답변완료

문의드립니다.

이전 문의드린 수식중 아래의 수식을 적용했더니 선의 색상이 파란색으로만 나오고 green과 red는 구현되지 않습니다. 또한 선이 직선처럼 나와야 하는데 휩소처럼 나옵니다. 다시한번부탁드립니다. ========================== study(title="Average True Range Trailing Stops Strategy, by Sylvain Vervoort", overlay = true) nATRPeriod = input(5) nATRMultip = input(3.5) xATR = atr(nATRPeriod) nLoss = nATRMultip * xATR xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss))) pos = iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) color = pos == -1 ? red: pos == 1 ? green : blue plot(xATRTrailingStop, color=color, title="ATR Trailing Stop") =============================================== 작성해주신 수식 input : nATRPeriod(5); input : nATRMultip(3.5); var : xATR(0),nLoss(0),xATRTrailingStop(0),ps(0),nz(0),color(0); xATR = atr(nATRPeriod); nLoss = nATRMultip * xATR; nz = iff(xATRTrailingStop[1] == true,0,xATRTrailingStop[1]); xATRTrailingStop = iff(close > nz and close[1] > nz, max(nz, close - nLoss), iff(close < nz and close[1] < nz, min(nz, close + nLoss), iff(close > nz, close - nLoss, close + nLoss))); ps = iff(close[1] < nz and close > nz, 1, iff(close[1] > nz and close < nz, -1, iff(isnan(ps[1]) ==true, 0,ps[1]))) ; color = iff(ps == -1 , red, iff(ps == 1 , green , blue)); plot1(xATRTrailingStop, "ATR Trailing Stop",color); ================== 항상 감사드립니다. 수고하세요!!!
프로필 이미지
해암
2025-05-09
594
글번호 190682
지표
답변완료

안녕하세요

안녕하세요 지표 변환 가능할지 문의드리려고 합니다. x32 버전의 Supertrend 입니다 동일한 수식으로 x64 버전에서 생성을 하니 사용 불가로 표시되어 수정 가능할지 여쭙고 싶습니다. ------------------------------------------------------------------- inputs: ATRLength(9), ATRMult(1), Strength(9); vars: strend(0),st(0); st = SuperTrend(ATRLength, ATRMult, Strength, strend); Plot1(st+atr(ATRLength)*ATRMult,"Up",iff(strend == 1,red,blue)); Plot2(st-atr(ATRLength)*ATRMult,"Down",iff(strend == 1,red,blue)); Plot3(st,"SuperTrend",iff(strend == 1,red,blue)); -------------------------------------------------------------------- 감사합니다!
프로필 이미지
로즈버드
2025-05-09
372
글번호 190681
지표
답변완료

지표 변환 부탁드립니다.

항상 감사합니다. 아래는 트레이딩뷰 스크립트입니다. 시간이 오래 걸리면 이평선 만이라도 차트에 적용할 수 있게 변환 부탁드립니다. //@version=5 indicator("Market Structure Trend Targets [ChartPrime]", "Market Structure TT [ChartPrime]", overlay = true, max_lines_count = 500, max_labels_count = 500) // --------------------------------------------------------------------------------------------------------------------} // &#120400;&#120398;&#120384;&#120397; &#120388;&#120393;&#120395;&#120400;&#120399;&#120398; // --------------------------------------------------------------------------------------------------------------------{ int length = input.int(10, "Length", maxval = 30, minval = 2) bool display_per = input.bool(false, "Display %") bool display_stop = input.bool(true, "Display Trailing Stop") color col_up = input.color(#54b6d4, "+", inline = "col") color col_dn = input.color(#cf3737, "-", inline = "col") // --------------------------------------------------------------------------------------------------------------------} // &#120388;&#120393;&#120383;&#120388;&#120382;&#120380;&#120399;&#120394;&#120397; &#120382;&#120380;&#120391;&#120382;&#120400;&#120391;&#120380;&#120399;&#120388;&#120394;&#120393;&#120398; // --------------------------------------------------------------------------------------------------------------------{ series float ph = ta.pivothigh(length, length) series float pl = ta.pivotlow(length, length) market_structure()=> var upper = float(na) var lower = float(na) var upper_count = 0 var lower_count = 0 var upper_index = 0 var lower_index = 0 var trend = bool(na) float source = ta.sma(high - low, 50)*2 float source1 = ta.sma(ta.median(close, 40), 10) float volatility = math.avg(ta.highest(source, 200), ta.lowest(source, 200)) float trend_line = float(na) var line_h = line(na) var line_l = line(na) if not na(ph) upper_index := bar_index[length] upper := high[length] line_h := line.new(upper_index, upper, upper_index, upper, color = col_up) if not na(pl) lower_index := bar_index[length] lower := low[length] line_l := line.new(lower_index, lower, lower_index, lower, color = col_dn) if ta.crossover(high, upper) upper_count += 1 var price_enter = 0. int index = bar_index - (bar_index - upper_index)/2 if upper_count == 1 price_enter := line_h.get_y1() float percent = (line_h.get_y1() - price_enter) / price_enter * 100 string txt = upper_count == 1 ? str.tostring(price_enter, "#.# △") : (display_per ? str.tostring(percent, format.percent) : str.tostring(upper_count-1)) label.new(index, line_h.get_y1(), txt, textcolor = chart.fg_color, color = color(na)) line_h.set_x2(bar_index) line_h := na upper := na lower_count := 0 trend := true if ta.crossunder(low, lower) lower_count += 1 var price_enter = 0. int index = bar_index - (bar_index - lower_index)/2 if lower_count == 1 price_enter := line_l.get_y1() float percent = (line_l.get_y1() - price_enter) / price_enter * 100 string txt = lower_count == 1 ? str.tostring(price_enter, "#.# ▽") : (display_per ? str.tostring(percent, format.percent) : str.tostring(lower_count-1)) label.new(index, line_l.get_y1(), txt, textcolor = chart.fg_color, color = color(na), style = label.style_label_up) line_l.set_x2(bar_index) line_l := na lower := na upper_count := 0 trend := false if trend trend_line := source1 - volatility else trend_line := source1 + volatility color color = trend ? col_up : col_dn if trend and ta.crossover(low, trend_line) and display_stop and not (trend and not trend[1]) label.new(bar_index[1], low[1], text = "◈", style = label.style_label_up, textcolor = color, color = color(na)) if not trend and ta.crossunder(high, trend_line) and display_stop and not (trend[1] and not trend) label.new(bar_index[1], high[1], text = "◈", style = label.style_label_down, textcolor = color, color = color(na)) if trend and not trend[1] label.new(bar_index, trend_line, text = "△", textcolor = color, style = label.style_label_center, color = color(na), size = size.large) if not trend and trend[1] label.new(bar_index, trend_line, text = "▽", textcolor = color, style = label.style_label_center, color = color(na), size = size.large) [color, trend_line, trend] [color, trend_line, trend] = market_structure() float stop_loss = trend_line, stop_loss := ta.change(trend) ? na : high > stop_loss and not trend ? na : low < stop_loss and trend ? na : stop_loss // --------------------------------------------------------------------------------------------------------------------} // &#120401;&#120388;&#120398;&#120400;&#120380;&#120391;&#120388;&#120405;&#120380;&#120399;&#120388;&#120394;&#120393; // --------------------------------------------------------------------------------------------------------------------{ display = display_stop ? display.all : display.none color1 = display_stop ? 90 : 100 sl = plot(stop_loss, style = plot.style_linebr, color = color, display = display), plot(stop_loss, style = plot.style_linebr, color = color.new(color, 80), linewidth = 5, display = display) pp = plot(hl2, color = color(na)) fill(sl, pp, stop_loss, hl2, color.new(color, color1), na) candle_col = color.new(color, 50) plotcandle(open, high, low, close, title='Candles Trend', color = candle_col, wickcolor=candle_col, bordercolor = candle_col) // --------------------------------------------------------------------------------------------------------------------}
프로필 이미지
플로스트
2025-05-09
544
글번호 190676
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2025-05-09
11
글번호 190672
시스템

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

프로필 이미지
hhk1018
2025-05-09
10
글번호 190671
시스템
답변완료

수식 부탁드립니다

분봉신호를 활용한 자동매매시 활용하려고 합니다 각 분봉의 시가가 볼밴상단 3%초과하여 갭상승 형성될때는 제외되도록 수식 부탁드립니다
프로필 이미지
만복부자888
2025-05-09
315
글번호 190670
지표