커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1536
글번호 230811
답변완료
종목검색 부탁드립니다.
안녕하세요
아래수식의 신호가 10봉안에 5번이상 발생한 종목을 찾으려고하는식 부탁드립니다.
감사합니다
A=H-L;
B=Max(C,O)-L;
조건=A/B>배수 && H/C(1)>(1*상승률/100);
기준가=Valuewhen(1,조건,H);
CrossUp(C,기준가)
변수
배수 5
상승률 18
2025-06-28
328
글번호 192161
답변완료
질문 부탁드립니다
답변 감사드립니다
아래식에서 조건만족 시점 사이의 소요된 영업일 수는 value1이 맞나요?
그리고 if h>l*1.08 ... 조건 사이 소요된 시간 단위를 알 수 있을까요
시간단위는 시간, 분 으로 해주시면 감사하겠습니다
질문2)
배열 hh[cnt] 사이의 시간차 관련 수식을 작성하고자 합니다
hh[n] 과 hh[n+1] 의 시간차를 구해서
가장 시간차가 짧은 값을 구하고 싶습니다
예를들어
hh[0]발생시간과 hh[1] 발생시간의 시간차, hh[1] 과 hh[2] 의 시간차...hh[19] 와 hh[20] 의 차 를 구해서
가장 짧은 값을 계산 하고 싶습니다
감사합니다
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then
{
d1=dd;
value1 = dd;
var1=index;
var2=var1[1];
var3=h;
for cnt = 1 to (var1-var2)-1
{
if h[cnt] > var3 then
{
var3=h[cnt];
}
}
for cnt = 49 downto 1
{
hh[cnt]=hh[cnt-1];
}
hh[0]=var3;
...
}
2025-06-27
280
글번호 192160
가자아이 님에 의해서 삭제되었습니다.
2025-06-27
9
글번호 192159
답변완료
93339 재질문 답변요청드립니다
93339 재질문 답변요청드립니다
감사합니다
2025-06-27
278
글번호 192158
답변완료
예스트레이더 수식으로 변환 부탁 드립니다.
Volumatic Trend 지표를 예스로 변환 부탁 드립니다.
주말 행복하게 보내세요~ 감사합니다.^^
//@version=6
indicator("Volumatic Trend [ChartPrime]", overlay = true, max_bars_back = 5000)
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
int length = input.int(40)
bool vol_h = input.bool(true, "Volume Histogram")
color color_up = input.color(#247ac0, "Up Trend")
color color_dn = input.color(#c88829, "Down Trend")
var upper = float(na)
var lower = float(na)
var lower_vol = float(na)
var upper_vol = float(na)
var step_up = float(na)
var step_dn = float(na)
var last_index = int(na)
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// --------------------------------------------------------------------------------------------------------------------{
ema_swma(x, length) =>
ta.ema(x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6, length)
atr = ta.atr(200)
ema1 = ema_swma(close, length)
ema2 = ta.ema(close, length)
trend = ema1[1] < ema2
if trend != trend[1]
upper := ema1 + atr * 3
lower := ema1 - atr * 3
lower_vol := lower + atr*4
upper_vol := upper - atr*4
step_up := (lower_vol-lower) / 100
step_dn := (upper-upper_vol) / 100
last_index := bar_index
vol = int(volume / ta.percentile_linear_interpolation(volume, 1000, 100) * 100)
vol_up = step_up * vol
vol_dn = step_dn * vol
// --------------------------------------------------------------------------------------------------------------------}
// 📌 𝙑𝙄𝙎𝙐𝘼𝙇𝙄𝙕𝘼𝙏𝙄𝙊𝙉
// --------------------------------------------------------------------------------------------------------------------{
color color = trend ? color_up : color_dn
color grad_col = color.from_gradient(vol, 0, 25, chart.bg_color, color)
color grad_col1 = color.from_gradient(vol, 0, 10, chart.bg_color, color)
color col_vol_up = trend ? grad_col : color(na)
color col_vol_dn = not trend ? grad_col : color(na)
plotcandle(open, high, low, close, title='Volumatic Candles Trend', color = grad_col1, wickcolor=grad_col1, bordercolor = grad_col1, force_overlay = true)
plotcandle(lower, lower, lower + vol_up, lower + vol_up, title='Volume Up Trend', color = col_vol_up, wickcolor=col_vol_up, bordercolor = col_vol_up, display = vol_h ? display.all : display.none, editable = false, force_overlay = true)
plotcandle(upper, upper, upper - vol_dn, upper - vol_dn, title='Volume Down Trend', color = col_vol_dn, wickcolor=col_vol_dn, bordercolor = col_vol_dn, display = vol_h ? display.all : display.none, editable = false, force_overlay = true)
plot(trend and vol_h ? na : upper, color = color, style = plot.style_linebr, display = vol_h ? display.all : display.none, editable = false, force_overlay = true)
plot(trend and vol_h ? lower : na, color = color, style = plot.style_linebr, display = vol_h ? display.all : display.none, editable = false, force_overlay = true)
plot(ema1, "Trend Line", color = color.new(color, 20), linewidth = 2, force_overlay = true)
plotshape(trend != trend[1] ? ema1[1] : na, "Trend Change", shape.diamond, location.absolute, color = color, size = size.tiny, offset = -1, force_overlay = true)
volume_ = close > open ? volume : -volume
if barstate.islast
delta = 0.
total = 0.
for i = 0 to (bar_index - last_index)
total += volume[i]
delta += volume_[i]
lblb = label.new(bar_index, vol_h ? (trend ? lower + vol_up : upper - vol_dn) : ema1
, "Delta > "+str.tostring(delta, format.volume) + "₩n"
+ "--------------------" + "₩n"
+ "Total > "+str.tostring(total, format.volume)
, textalign = text.align_left
, style = label.style_label_left, color = grad_col1)
label.delete(lblb[1])
2025-06-27
388
글번호 192157
답변완료
문의 드립니다.
안녕하세요
본 시스템으로 시뮬레이션을 해보니
손절만 일어나고 익절 거래가 이루어 지지 않습니다.
검토 부탁드립니다.
*일봉기준
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
333
글번호 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();
늘감사드립니다
2025-06-27
259
글번호 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
291
글번호 192147
답변완료
호가잔량 표시
안녕하세요
선물잔량수치을 차트에표시할려구합니다 잔량수치을 천단위로 표시부탁합니다
2025-06-27
279
글번호 192143