커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1548
글번호 230811
답변완료
문의 드립니다.
안녕하세요
현재 가격이
1. 240일선 돌파한 후에
2. 아래의 atr 볼밴돌파선,
A=avg(c,17);
ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17);
B=ATR*2;
D=A+B;
E=Bbandsup(17,2);
e1=crossup(E,D);
e2=crossdown(E,D);
e3=crossdown(c,E);
valuewhen(1,e1 or e2 or e3,o)
을 돌파하는 종목의 검색식 부탁 드립니다.
감사합니다.
2025-05-14
259
글번호 190815
답변완료
문의드립니다.
안녕하세요 더운 날씨에 노고가 많으십니다.
항상 감사하게 생각하고 있습니다.
---------------------------------------------
input : period(14),multiplier(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + multiplier * AtrV;
lowerBand = src - multiplier * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
SuperTrend = lowerband;
Else
SuperTrend = upperband;
Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue));
}
-------------------------------------------------------------------
위의 지표를 통하여 종목검색을 하고 싶습니다.
당일 "0봉의 종가"로 슈퍼트렌드를 돌파한 종목만 검색하고 싶습니다
감사합니다.
2025-05-15
285
글번호 190809
회원 님에 의해서 삭제되었습니다.
2025-05-15
65
글번호 190808
러블리 님에 의해서 삭제되었습니다.
2025-05-14
15
글번호 190807
답변완료
선행스팬1 선행스팬2 부탁해요
26일 앞에있는 선행스팬1.2 가 아닌
오늘 일봉 주가 위에 있는 선행스팬1 과 2 돌파하는 수식 부탁드려요
과거 26일전에 생성된 선행스팬 1. 2 임미다
2025-05-14
279
글번호 190806
사공하늘 님에 의해서 삭제되었습니다.
2025-05-14
150
글번호 190805
답변완료
로직 문의
안녕하세요 몇가지 질문이 있습니다
질문 #1
제가 봤을때는 동일한 논리인 아래 두 코드가 백테스트에는 다른 결과를 보여주는데요
제가 잘못 이해하고 있는게 있을까요? 감사합니다
코드 #1
var : hh(0),ll(0);
input:X1(5); // 1~10, 직전 XX봉 횟수
ll = lowest(L,X1);
hh = highest(H,X1);
Condition1 = CrossUp(C,hh[1]) and MarketPosition == 0;
Condition2 = CrossDown(C,ll[1]) and MarketPosition == 0;
If Condition1 == True and CrossUp(C,hh[1]) then Buy("B1",AtMarket,DEf,1);
If Condition2 == True and CrossDown(C,ll[1]) then Sell("B2",AtMarket,DEf,1);
코드 #2
var : hh(0),ll(0);
input:X1(5); // 1~10, 직전 XX봉 횟수
ll = lowest(L,X1);
hh = highest(H,X1);
If CrossUp(C,hh[1]) then Buy("B1",AtMarket,DEf,1);
If CrossDown(C,ll[1]) then Sell("B2",AtMarket,DEf,1);
질문 #2
아래 코드의 논리를 제가 이렇게 이해하고 있는데, 맞는지 검증 부탁드립니다
현재봉에서 직전 XX봉 고가/저가 돌파가 나오면 매수/매도
포지션이 있을때 entryprice가 진입봉의 저가/고가를 벗어나면 청산
var : hh(0),ll(0);
input:X1(5); // 1~10, 직전 XX봉 횟수
ll = lowest(L,X1);
hh = highest(H,X1);
Condition1 = CrossUp(C,hh[1]) and MarketPosition == 0;
Condition2 = CrossDown(C,ll[1]) and MarketPosition == 0;
If Condition1 == True then Buy("B1",AtMarket,DEf,1);
If Condition2 == True then Sell("B2",AtMarket,DEf,1);
// 손절: 진입신호 봉의 저가 손절
input:FF(8); // 1~10, 진입 후 XX봉 경과
If MarketPosition == 1 and EntryPrice < L[BarsSinceEntry] Then ExitLong("C1");
If MarketPosition == -1 and EntryPrice > H[BarsSinceEntry] Then ExitShort("C2");
2025-05-14
272
글번호 190804
답변완료
키움수식 변환 부탁드립니다.
안녕하세요, 항상 도움을 주셔서 감사합니다.
첨부된 그림의 조건검색을 예스트레이더의 검색식으로 변환 부탁드립니다.
감사합니다.
2025-05-14
316
글번호 190802
답변완료
지표 변환 부탁드립니다.
//@version=6
indicator("Trend Classifier [ChartPrime]", overlay = true, max_labels_count = 500)
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
int length = input.int(10, "Length")
bool show_bands = input.bool(true, "Trend Bands")
color col_up = input.color(#008fa5, "", inline = "col")
color col_dn = input.color(#e14c60, "", inline = "col")
color col_range = input.color(#edae49, "", inline = "col")
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// --------------------------------------------------------------------------------------------------------------------{
smema(src, length)=>
ta.sma(ta.ema(src, length), length)
col_distance(src, col)=>
distance = math.abs(close - src)
col_size = distance / ta.percentile_linear_interpolation(distance, 400, 100)
show_bands ? color.from_gradient(col_size, 0, 0.5, color(na), col) : color(na)
float smema = smema(close, length)
float distance1 = close - smema
float distance2 = smema - close
float step = smema(high-low, 100)
float smema_up3 = smema + step * 3
float smema_up2 = smema + step * 2
float smema_up1 = smema + step
float smema_dn3 = smema - step * 3
float smema_dn2 = smema - step * 2
float smema_dn1 = smema - step
bool trend = smema > smema[1]
bool above3 = close > smema_up3
bool above2 = close > smema_up2
bool above1 = close > smema_up1
bool below1 = close < smema_dn1
bool below2 = close < smema_dn2
bool below3 = close < smema_dn3
int bull_strength = (above1 ? 1 : 0) + (above2 ? 1 : 0) + (above3 ? 1 : 0)
int bear_strength = (below1 ? 1 : 0) + (below2 ? 1 : 0) + (below3 ? 1 : 0)
label_signal =
trend and bull_strength >= 1 ? 1 :
not trend and bear_strength >= 1 ? -1 : 0
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙑𝙄𝙎𝙐𝘼𝙇𝙄𝙕𝘼𝙏𝙄𝙊𝙉
// --------------------------------------------------------------------------------------------------------------------{
table mytbl = table.new(position.top_right, 10, 50)
if barstate.islast
table.cell(mytbl, 0, 0, "Bull Strength", text_color = chart.fg_color)
table.cell(mytbl, 0, 1, "Bear Strength", text_color = chart.fg_color)
for i = 0 to 3
table.cell(mytbl, 1+i, 0, "")
if bull_strength >= 0
for i = 0 to bull_strength
table.cell(mytbl, i+1, 0, i == bull_strength ? str.tostring(bull_strength) : "", bgcolor = color.new(col_up, 80 - i * 30), text_color = chart.fg_color)
if bear_strength >= 0
for i = 0 to bear_strength
table.cell(mytbl, i+1, 1, i == bear_strength ? str.tostring(bear_strength) : "", bgcolor = color.new(col_dn, 80 - i * 30), text_color = chart.fg_color)
color color_class = label_signal > 0 ? col_up : label_signal < 0 ? col_dn : col_range
// Labels
barcolor(color_class)
plotcandle(open, high, low, close, title='Candles Color', color = color_class, wickcolor=color_class, bordercolor = color_class, force_overlay = true)
plotshape(trend != trend[1] ? smema[1] : na, location=location.absolute, color=chart.fg_color, style=shape.diamond, title="Trend Signal", force_overlay = true, offset = -1, size = size.tiny)
if label_signal == 1
label.new(bar_index, low, "▲₩n" + str.tostring(bull_strength), style = label.style_label_up, color = color(na), size = size.tiny, textcolor = color_class)
if label_signal == -1
label.new(bar_index, high, str.tostring(bear_strength) + "₩n▼", style = label.style_label_down, color = color(na), size = size.tiny, textcolor = color_class)
color col_mid = smema > smema[1] ? col_up : col_dn
color col_up1 = col_distance(smema_up1, close > smema_up1 and trend ? col_up : close < smema_up1 and not trend ? col_dn : color(na))
color col_up2 = col_distance(smema_up2, close > smema_up2 and trend ? col_up : close < smema_up2 and not trend ? col_dn : color(na))
color col_up3 = col_distance(smema_up3, close > smema_up3 and trend ? col_up : close < smema_up3 and not trend ? col_dn : color(na))
color col_dn1 = col_distance(smema_dn1, close < smema_dn1 and not trend ? col_dn : close > smema_dn1 and trend ? col_up : color(na))
color col_dn2 = col_distance(smema_dn2, close < smema_dn2 and not trend ? col_dn : close > smema_dn2 and trend ? col_up : color(na))
color col_dn3 = col_distance(smema_dn3, close < smema_dn3 and not trend ? col_dn : close > smema_dn3 and trend ? col_up : color(na))
plot(smema_up3, color = col_up3, editable = false)
plot(smema_up2, color = col_up2, editable = false)
plot(smema_up1, color = col_up1, editable = false)
plot(smema, "Trend Line",color = col_mid, editable = true, linewidth = 2)
plot(smema_dn1, color = col_dn1, editable = false)
plot(smema_dn2, color = col_dn2, editable = false)
plot(smema_dn3, color = col_dn3, editable = false)
// --------------------------------------------------------------------------------------------------------------------}
2025-05-14
408
글번호 190801