커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3757
글번호 230811
답변완료
지표수식 전환부탁드립니다.
아래 지표를 예스 지표로 전환부탁드립니다.
//The volume price trend ( VPT ) indicator helps determine a security’s price direction and strength of price change. The indicator consists of a cumulative volume line that adds or subtracts a multiple of the percentage change in a share price’s trend and current volume , depending upon the security’s upward or downward movements.
//https://www.tradingview.com/script/i8FO3CyP-VPT-v4/
source = close
hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)
VPT = spreadvol + cum(spreadvol)
window_len = 28
v_len = 14
price_spread = stdev(high-low, window_len)
v = spreadvol + cum(spreadvol)
smooth = sma(v, v_len)
v_spread = stdev(v - smooth, window_len)
shadow = (v - smooth) / v_spread * price_spread
out = shadow > 0 ? high + shadow : low + shadow
//plot(out, style=line,linewidth=3, color=color)
len=input(10)
vpt=ema(out,len)
//lineColor = vpt > vpt[1] ? color.green : color.red
//plot(vpt, linewidth=3, color=lineColor)
//x=crossover(vpt , vpt[1]) and vpt > vpt[1]
//z=crossunder(vpt , vpt[1]) and vpt <vpt[1]
//plotshape(crossover(vpt , vpt[1]) and vpt > vpt[1], "up arrow", shape.triangleup, location.belowbar, color.green,size=size.tiny)
//plotshape(crossunder(vpt , vpt[1]) and vpt <vpt[1] , "down arrow", shape.triangledown, location.abovebar, color.red,size=size.tiny)
//
// INPUTS //
st_mult = input(1, title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(100, title = 'SuperTrend Period', minval = 1)
// CALCULATIONS //
up_lev = vpt - (st_mult * atr(st_period))
dn_lev = vpt + (st_mult * atr(st_period))
up_trend = 0.0
up_trend := close[1] > up_trend[1] ? max(up_lev, up_trend[1]) : up_lev
down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev
// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)
// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend
// Plotting
plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( close, st_line)
sell=crossunder(close, st_line)
//plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny)
//plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny)
plotshape(buy,title="Buy", color=color.blue, style=shape.arrowup,location=location.belowbar, text="Buy")
plotshape(sell,title="Sell", color=color.black, style=shape.arrowdown,text="Sell")
/////// Alerts /////
alertcondition(buy,title="buy")
alertcondition(sell,title="sell")
2020-03-16
537
글번호 136887
답변완료
지표수식 전환부탁
다음 수식을 예스지표로 전환부탁드려요.
ATRlength = input(200, minval=1)
ATRMult = input(2.272, minval=1)
ATR = rma(tr(true), ATRlength)
len = input(26, minval=1, title="EMA Length")
src = input(close, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=orange,transp=85)
emaup = out+(ATR*ATRMult)
emadw = out-(ATR*ATRMult)
plot(emaup, title="EMAUP", color=red)
plot(emadw, title="EMADW", color=green)
conversionPeriods = input(5, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
kjuncol = conversionLine > baseLine ? blue : conversionLine < baseLine ? red : orange
plot(conversionLine, color=red, title="Conversion Line")
plot(baseLine, color=kjuncol,linewidth=2,transp=5, title="Base Line")
p1 = plot(leadLine1, offset = displacement, color=green,transp=85,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,transp=85,
title="Lead 2")
fill(p1, p2,silver)
2020-03-16
433
글번호 136886
답변완료
부탁 드립니다.
도움에 감사 드립니다.
타주기(분용)으로 부탁 드립니다.
미리 감사 드립니다.
input:p(20),sig(3);;
var1=iff(c>o,c,0);
var2=iff(c>o,1,0);
var3=AccumN(var1,p);
var4=accumn(var2,p);
var5=iff(var1==0 or var2==0 ,c[p-1],var1/var2);
var11=iff(c<o,c,0);
var12=iff(c<o,1,0);
var13=AccumN(var11,p);
var14=accumn(var12,p);
var15=iff(var11==0 or var12==0 ,c[p-1],var11/var12);
var51=(var5+var15)/2;
var61=c-var33;
var71=ma(var61,sig);
2020-03-16
353
글번호 136885
답변완료
부탁좀 드립니다
수고가 많으십니다 아래 기존수식에 그림처럼 첨부수식 부탁드립니다
if cap > cap [1] then
T = 1;
if cap < cap [1] Then
T = -1;
if MarketPosition <= 0 and T == 1 and T != T[1] Then
{
buy("b");
var1 = L;
}
if MarketPosition >= 0 and T == -1 and T != T[1] Then
{
sell("s");
var2 = H;
}
2. 같은 조건으로 직전봉이 아닌 현재봉 기준도 부탁드립니다
2020-03-19
361
글번호 136884
금보 님에 의해서 삭제되었습니다.
2020-03-16
7
글번호 136882
이형지 님에 의해서 삭제되었습니다.
2020-03-15
1
글번호 136881
천상나루 님에 의해서 삭제되었습니다.
2020-03-15
0
글번호 136880
천상나루 님에 의해서 삭제되었습니다.
2020-03-15
0
글번호 136879
답변완료
수식부탁드립니다.
틱차트에서...
종목보유수량이없다면...
전일종가보다 현재가가 한틱이라도 높으면 매수
전일종가보다 한틱이라도 작으면 매수청산
전일종가보다 5%이상이면 매수청산
만약 보유수량이 없다면 계속해서 매매를 한다.
매수진입시 수량이 아닌 금액으로( 예) 100,000원으로 환산한 수량) 진입한다
매수청산시 전량 청산한다.
미리 감사드립니다.
2020-03-15
171
글번호 136878