커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

안녕하세요 본 시스템으로 시뮬레이션을 해보니 손절만 일어나고 익절 거래가 이루어 지지 않습니다. 검토 부탁드립니다. *일봉기준 1. 매수진입: 첫매수는 RSI(14) 55이하일때, 2회차부터는 RSI 55이하, 평균단가 이하일때, 전일보다 하락했을때만 매수, 총 40회차 매수 (원금대비 1/40씩 매수) 2. 청산: 손절 40회차 모두 매수 후 평균 단가에서 -10% 시 손절 익절: 40회차 모두 매수 후 평균 단가에서 +10% 시 익절 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 드립니다. > 안녕하세요 예스스탁입니다. input : 총매수금(100000000); input : 최대누적진입횟수(40); input : 익절(10),손절(-10); var1 = rsi(14); if C < C[1] and var1 <= 55 Then { if MarketPosition == 0 or (MarketPosition == 1 and MaxEntries < 최대누적진입횟수 and C < AvgEntryPrice) Then Buy("b",OnClose,Def,Floor((총매수금/40)/c)); } if MarketPosition == 1 and MaxEntries == 최대누적진입횟수 Then { ExitLong("익절",AtLimit,AvgEntryPrice*(1+익절/100)); ExitLong("손절",AtLimit,AvgEntryPrice*(1+손절/100)); } 즐거운 하루되세요
프로필 이미지
가자아이
2025-06-27
351
글번호 192155
지표
답변완료

문의드립니다,

문의드립니다. 아래수식에 추가해주세요. 1.data2 이동평균선매수신호진입한이후 3시5분 data1매수식 if data2(crossup(ma(c,5),ma(c,20))) Then buy(); if data2(crossdown(ma(c,5),ma(c,20))) Then sell(); 늘감사드립니다
프로필 이미지
2685up
2025-06-27
270
글번호 192150
시스템
답변완료

문의 드립니다.

안녕하세요 항상 감사합니다. 아래의 서식에서 40회차까지 모두 매수를 한 후에 손절과 익절이 실행될 수 있도록 수정 부탁드립니다. 40회 모두 매수 전까지누 손절, 익절 금지입니다. 감사합니다 input : 총매수금(100000000); input : 익절(10),손절(-10); var1 = rsi(14); if C < C[1] and var1 <= 55 Then { if MarketPosition == 0 or (MarketPosition == 1 and MaxEntries < 40 and C < AvgEntryPrice) Then Buy("b",OnClose,Def,Floor((총매수금/40)/c)); } if MarketPosition == 1 Then { ExitLong("익절",AtLimit,AvgEntryPrice*(1+익절/100)); ExitLong("손절",AtLimit,AvgEntryPrice*(1+손절/100)); }
프로필 이미지
가자아이
2025-06-27
304
글번호 192147
지표
답변완료

호가잔량 표시

안녕하세요 선물잔량수치을 차트에표시할려구합니다 잔량수치을 천단위로 표시부탁합니다
프로필 이미지
질갱이
2025-06-27
294
글번호 192143
지표

오말리 님에 의해서 삭제되었습니다.

프로필 이미지
오말리
2025-06-27
0
글번호 192138
종목검색
답변완료

종목검색 부탁드립니다.

안녕하세요? 아래의 수식의 종목검색부탁드립니다. 감사합니다. CrossUp(h,BBandsUp(40, D1)) and c >= SAR(af,maxAF) and V > avg(V, 40) * Multiple && V > V(1) * Multiple and avg(c,MA1) >= (avg(c,MA2) or avg(c, MA3)) and Disparity(Period1) <= Percent percent 109 D1 2 af 0.007 MaxAF 0.1 Period1 224 Multiple 1.5 MA1 1 MA2 224 MA3 112
프로필 이미지
오말리
2025-06-27
353
글번호 192137
종목검색
답변완료

문의 드립니다.

추세는 호가잔량 이평 오실레이터 0선 기준으로 하고 호가잔량 이평 오실레이터 0선 위이고 20이평선을 주가가 아래서 위로 돌파시 매수진입 매수 후 20이평선을 위에서 아래로 이탈 시 매도 청산 완료 호가잔량 이평 오실레이터 0선 아래이고 20이평선을 주가가 위에서 아래로 돌파시 매도진입 매도 후 20이평선을 아래에서 위로 돌파 시 매수 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2025-06-27
266
글번호 192135
시스템
답변완료

수식전환 요청드립니다.

안녕하세요. 운영자님 다음 지표수식을 예스트레이더에서 작동될 수 있도록 전환을 부탁드립니다. 감사합니다. //@version=6 indicator("High Volume Node - ML", overlay = true, max_boxes_count = 500, max_lines_count = 500) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ len = input.int(300, "len") bins = input.int(100, "bins") prf_col = input.color(color.rgb(0, 187, 212, 60), "Profile") poc_col = input.color(color.blue, "High Volume Node") delta_col1 = input.color(color.aqua, "Output+", inline = "1") delta_col2 = input.color(color.red, "Output-", inline = "1") profile1 = input.bool(true, "VP1", inline = "vp") profile2 = input.bool(true, "VP2", inline = "vp") profile3 = input.bool(true, "VP3", inline = "vp") profile4 = input.bool(true, "VP4", inline = "vp") // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ profile(length, bins, poc_mult, style = true)=> values = array.new<float>() vol_bins = array.new<float>(bins) tot_vol = array.new<float>() delta_vol = array.new<float>() max_val = float(na) min_val = float(na) step = float(na) var bin_levels = array.new<line>() var bin_labels = array.new<label>() poly = array.new<chart.point>() if barstate.islast for i = 0 to length - 1 values.push(high[i]) values.push(low[i]) max_val := values.max() min_val := values.min() step := (max_val-min_val)/bins if barstate.islast for i = 0 to bins - 1 vol_bins.set(i, 0) for i = 0 to length - 1 c_top = math.max(close[i], open[i]) c_low = math.min(close[i], open[i]) c = close[i] o = open[i] vol = volume[i] tot_vol.push(vol) delta_vol.push(c > o ? vol : -vol) for j = 0 to bins - 1 lower = min_val + step * j upper = lower + step mid = math.avg(lower, upper) if c <= upper + step*1.5 and c >= lower - step*1.5 vol_bins.set(j, vol_bins.get(j) + vol) if barstate.islast check = false if bin_levels.size() > 0 for k = 0 to bin_levels.size() - 1 line.delete(bin_levels.get(k)) if bin_labels.size() > 0 for k = 0 to bin_labels.size() - 1 label.delete(bin_labels.get(k)) for i = 0 to bins - 1 lower = min_val + step * i upper = lower + step mid = math.avg(upper, lower) vol = int(vol_bins.get(i) / vol_bins.max() * 25) start = bar_index - length end = start +vol var midd = float(na) poly.push(chart.point.from_index(i == 0 ? start : i == bins - 1 ? start : end+1, mid)) if vol_bins.get(i) == vol_bins.max() and not check check := true bin_labels.push(label.new(start, mid, str.tostring(vol_bins.get(i), format.volume), style = label.style_label_right, color = color.new(poc_col, 25), force_overlay = true)) bin_levels.push(line.new(start, mid, start + int(length/poc_mult), mid, color = poc_col, force_overlay = true, width = 3)) bin_levels.push(line.new(start, max_val, bar_index, max_val, color = chart.fg_color, style = style ? line.style_solid : line.style_dashed)) bin_levels.push(line.new(start, min_val, bar_index, min_val, color = chart.fg_color, style = style ? line.style_solid : line.style_dashed)) bin_levels.push(line.new(start, max_val, start, min_val, color = chart.fg_color, style = line.style_solid)) bin_levels.push(line.new(start, max_val, start, min_val, color = chart.fg_color, style = line.style_solid)) bin_labels.push(label.new(start, max_val, "Total₩n" + str.tostring(tot_vol.sum(), format.volume), style = label.style_label_down, text_font_family = font.family_monospace, size = size.small, tooltip = "Total Volume over VolumeProfile period", color = color.blue)) bin_labels.push(label.new(start, min_val, str.tostring(delta_vol.sum(), format.volume) + "₩nOutput", style = label.style_label_up, text_font_family = font.family_monospace, size = size.small, tooltip = "Output Volume over VolumeProfile period", color = delta_vol.sum() < 0 ? delta_col2 : delta_col1)) polyline.delete( polyline.new(poly, line_color = #00e67700, fill_color = prf_col)[1] ) if profile1 profile(len, bins, 2) if profile2 profile(int(len/2), bins, 2, false) if profile3 profile(int(len/4), bins, 2, false) if profile4 profile(int(len/8), bins, 1, false) // }
프로필 이미지
고박사122
2025-06-27
352
글번호 192134
지표
답변완료

수식 부탁드립니다

자표식 부탁 드립니다. 시작 시간이 00시 날짜가 아니라 07시 전자거래시간(ETH) 기준입니다. study(title="Opening-Range", shorttitle="Opening-Range", overlay=true) up60on = input(true, title="60 Minute Opening Range High") down60on = input(true, title="60 Minute Opening Range Low") is_newbar(res) => change(time(res)) != 0 adopt(r, s) => security(tickerid, r, s) high_range = valuewhen(is_newbar('D'),high,0) low_range = valuewhen(is_newbar('D'),low,0) up = plot(up60on ? adopt('60', high_range):na, color = lime, style=circles, linewidth=4) down = plot(down60on ? adopt('60', low_range): na, color = #DC143C, style=circles, linewidth=4) trans60 = up60on ? 75 : 100 fill(up, down, color = white, transp=trans60)
프로필 이미지
사노소이
2025-06-27
285
글번호 192131
지표