커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

안녕하세요

안녕하세요 지표 변환 가능할지 문의드리려고 합니다. 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
341
글번호 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
493
글번호 190676
지표

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

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

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

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

수식 부탁드립니다

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

강조식 수정 부탁 드립니다.

안녕하세요. 첨부된 수식을 아래 기준에 맞게 수정을 부탁 드립니다. 직전봉을 기준으로 현재 봉이 직전 고가 위라면 "양봉"에 한해서만 어두운 빨간색을 적용 하고 싶구요. 직전봉을 기준으로 현재 봉이 직전봉 저가 아래라면 "음봉"에 한해서만 어두운 파랑색을 적용 하는 강조식을 부탁 드립니다. 즉. 직전봉 고가 위일때 양봉에 강조식을...직전봉 저가 아래 일때 음봉에 강조식입니다. 위 조건이 아닐 때는 그냥 기본봉 입니다. if H > Dayhigh(1) and C > O Then PlotPaintBar(C,O,"1",RGB(150,0,0)); if H > Dayhigh(1) and C < O Then PlotPaintBar(C,O,"1",RGB(0,0,150));
프로필 이미지
qha71
2025-05-08
276
글번호 190669
강조
답변완료

함수요청

아래의 전략에 대해 스크립트 작성 부탁드립니다. 주가지수 선물을 단기분봉으로 일중거래를거래하고자 합니다. 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 데드크로스 발생시 익봉시가에 매도s1 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 골드크로스 발생시 익봉시가에 매수b1 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 골드크로스 발생시 익봉시가에 매수b2 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 데드크로스 발생시 익봉시가에 매도s2 포지션이 s1이고 주가가 20일선 이탈시 익봉시가에 매도청산 sx1 포지션이 s2이고 주가가 20일선 돌파시 익봉시가에 매도청산 sx2 포지션이 b1이고 주가가 20일선 이탈시 익봉시가에 매도청산 bx1 포지션이 b2이고 주가가 20일선 돌파시 익봉시가에 매도청산 bx2 15시 강제창산
프로필 이미지
흰둥이아빠
2025-05-08
257
글번호 190668
시스템
답변완료

한번 더 봐주세요

알려주신 방법으로 채우기도 넣고 만들었습니다. Plot1(Data7(c),"외국인",Green); Plot2(Data9(c),"기관계",Black); Plot3(Data10(c),"개인",Pink); PlotBaseLine1(0,"0선"); 그림1과 같이 되길 원하는데 그림2와 같이 나오네요 방법이 있을까요?
프로필 이미지
어떤하루
2025-05-08
335
글번호 190664
지표
답변완료

수식 수정 부탁드립니다.

특정일이나 금요일장에는 0550분에 강제종료 청산식을 아래와 같이 알려 주셨는데 적용해 보니 금요일은 숫자를 6으로 변경 하고 특정일은 익일날로 변경하니 강제 청산 됩니다. if sDate != sDate[1] Then { if DayOfWeek(sDate) == 5 or sDate == 20250502 or sDate == 20251224 Then SetStopEndofday(055000); Else SetStopEndofday(0); } if Bdate != Bdate[1] Then SetStopEndofday(0); Input : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); If crossup(c,Sarv) Then { Buy(); } If CrossDown(c,Sarv) Then { Sell(); } 예)파라볼릭이 매수신호에 매수진입하여 0550분에 위와 같이 강제 청산 하였는데 특정일 익일이나 월요일 장시작 (0700)후에도 여전히 파라볼릭매수신호이면 macd오실레이터가 양전환 하면 매수재진입하는 식 좀 부탁드립니다.
프로필 이미지
산수유
2025-05-08
305
글번호 190663
시스템