예스스탁
예스스탁 답변
2023-03-15 14:48:03
안녕하세요
예스스탁입니다.
1
var : short(0),long(0);
short = ema(close, 12);
long = ema(close, 26);
plot2(short);
plot2(long);
2
input : th(2),color_bars(False),no_trade(False);
var : src(0);
var : phaseRatio1(0),beta1(0),alpha1(0),jma1(0),a1(0),b1(0),c1(0);
var : phaseRatio2(0),beta2(0),alpha2(0),jma2(0),a2(0),b2(0),c2(0);
var : jma_line(0),jma_line_fast(0);
var : ma27(0),ma83(0),ma278(0);
var : rad2degree(0),ma27_slope(0),ma83_slope(0),ma278_slope(0);
var : jma_slope(0),jma_fast_slope(0);
var : rising_1(False),falling_1(False);
src = (o+h+l+c)/4;
phaseRatio1 = iff(50 < -100 , 0.5 , IFf( 50 > 100 , 2.5 , 50 / 100 + 1.5));
beta1 = 0.45 * (10 - 1) / (0.45 * (10 - 1) + 2);
alpha1 = pow(beta1, 1);
jma1 = 0.0;
a1 = 0.0;
a1 = (1 - alpha1) * src + alpha1 * iff(isnan(a1[1])==False,a1[1],0);
b1 = 0.0;
b1 = (src - a1) * (1 - beta1) + beta1 * iff(isnan(b1[1])==False,b1[1],0);
c1 = 0.0;
c1 = (a1 + phaseRatio1 * b1 - iff(isnan(jma1[1])==False,jma1[1],0)) * pow(1 - alpha1, 2) + pow(alpha1, 2) * iff(isnan(c1[1])==False,c1[1],0);
jma1 = c1 + iff(isnan(jma1[1])==False,jma1[1],0);
phaseRatio2 = iff(50 < -100 , 0.5 , IFf( 50 > 100 , 2.5 , 50 / 100 + 1.5));
beta2 = 0.45 * (10 - 1) / (0.45 * (10 - 1) + 2);
alpha2 = pow(beta2, 2);
jma2 = 0.0;
a2 = 0.0;
a2 = (1 - alpha2) * src + alpha2 * iff(isnan(a2[1])==False,a2[1],0);
b2 = 0.0;
b2 = (src - a2) * (1 - beta2) + beta2 * iff(isnan(b2[1])==False,b2[1],0);
c2 = 0.0;
c2 = (a2 + phaseRatio2 * b2 - iff(isnan(jma2[1])==False,jma2[1],0)) * pow(1 - alpha2, 2) + pow(alpha2, 2) * iff(isnan(c2[1])==False,c2[1],0);
jma2 = c2 + iff(isnan(jma2[1])==False,jma2[1],0);
jma_line = jma1;
jma_line_fast = jma2;
ma27 = ema(src, 27);
ma83 = ema(src, 83);
ma278 = ema(src, 278);
rad2degree = 180 / Pie;
jma_slope = rad2degree * atan((jma_line - jma_line[1]) / atr(14));
jma_fast_slope = rad2degree * atan((jma_line_fast - jma_line_fast[1]) / atr(14));
ma27_slope = rad2degree * atan((ma27 - ma27[1]) / atr(14));
ma83_slope = rad2degree * atan((ma83[0] - ma83[1]) / atr(14));
ma278_slope = rad2degree * atan((ma278[0] - ma278[1]) / atr(14));
rising_1 = ma27 > ma27[1];
falling_1 = ma27 > ma27[1];
plot1(jma_slope, "jma slope", iff(jma_slope >= 0 ,IFf(rising_1 , green , LGreen),iff(falling_1 ,red ,maroon)));
plot2(jma_fast_slope, "jma slope", iff(jma_fast_slope >= 0 ,green , red));
plot3(ma27_slope, "ma27 slope filter", iff(abs(ma27_slope) > th , Def , yellow));
plot4(ma83_slope, "ma83 slope filter", iff(abs(ma83_slope) > th , def , yellow));
plot5(ma278_slope, "ma278 slope filter", iff(abs(ma278_slope) > th , Def , yellow));
plot6(ma27_slope, "ma27 slope", iff(ma27_slope >= 0 ,lime ,Magenta));
plot7(ma83_slope, "ma83 slope", iff(ma83_slope >= 0 , Green , red));
plot8(ma278_slope, "ma278 slope", iff(ma278_slope >= 0 , green , red));
PlotBaseLine1(0);
즐거운 하루되세요
> 고박사122 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다.
> 안녕하세요.
이번에 요청드릴 사항은 아래의 트레이딩 지표 2가지를 예스트레이더 형식으로 변환을 부탁드립니다. 감사합니다.
지표1)
//@version=3
study(title="GDAX EMA Cross[26,12]",shorttitle ="GDAX EMA", overlay=true)
short = ema(close, 12)
long = ema(close, 26)
plota = plot(short, color = #6f92ce, linewidth=2, title="Ema 12", editable = true)
plot(long, color = #e08937, linewidth=2, title="Ema 26", editable = true)
plot (cross(short, long) ? short : na, style = circles, color = red, linewidth = 4, title="Cross", trackprice = false)
trendup= long <= short
trendDn= long > short
emaUpColor() => trendup
emaDownColor() => trendDn
col = trendup ? blue : trendDn ? red : white
barcolor(emaUpColor() ? blue: emaDownColor() ? red : na, title="Highlights Trend")
지표2)
//@version=4
// this indicator gives you the angles of different moving averages
// this can give an indication of the momentum of a move increasing or decreasing
// you can also set a threshold for a minimum angle to filter out "no trade" zones
// JD.
// #NotTradingAdvice #DYOR
study("ma angles - JD")
src = input(ohlc4, title="source")
th = input(2, minval=1, title="threshold for -no trade zones- in degrees")
color_bars = input(false, title="color bars?")
no_trade = input(false, title="black out bars in no trade zones?")
// definition of "Jurik Moving Average", by Everget
jma(_src, _length, _phase, _power) =>
phaseRatio = _phase < -100 ? 0.5 : _phase > 100 ? 2.5 : _phase / 100 + 1.5
beta = 0.45 * (_length - 1) / (0.45 * (_length - 1) + 2)
alpha = pow(beta, _power)
jma = 0.0
e0 = 0.0
e0 := (1 - alpha) * _src + alpha * nz(e0[1])
e1 = 0.0
e1 := (_src - e0) * (1 - beta) + beta * nz(e1[1])
e2 = 0.0
e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) +
pow(alpha, 2) * nz(e2[1])
jma := e2 + nz(jma[1])
jma
//// //// Determine Angle by KyJ //// ////
angle(_src) =>
rad2degree = 180 / 3.14159265359 //pi
ang = rad2degree * atan((_src[0] - _src[1]) / atr(14))
ang
jma_line = jma(src, 10, 50, 1)
jma_line_fast = jma(src, 10, 50, 2)
ma27 = ema(src, 27)
ma83 = ema(src, 83)
ma278 = ema(src, 278)
jma_slope = angle(jma_line)
jma_fast_slope = angle(jma_line_fast)
ma27_slope = angle(ma27)
ma83_slope = angle(ma83)
ma278_slope = angle(ma278)
hline(0)
rising_1 = rising(ma27, 1)
color_1 = color.new(color.green, 75)
falling_1 = falling(ma27, 1)
plot(jma_slope, title="jma slope", style=plot.style_area, color=jma_slope >= 0 ? rising_1 ? color.green : color_1 : falling_1 ? color.red : color.maroon)
plot(jma_fast_slope, title="jma slope", style=plot.style_line, color=jma_fast_slope >= 0 ? color.green : color.red, transp=0)
plot(ma27_slope, title="ma27 slope filter", style=plot.style_area, color=abs(ma27_slope) > th ? na : color.yellow)
plot(ma83_slope, title="ma83 slope filter", style=plot.style_area, color=abs(ma83_slope) > th ? na : color.yellow)
plot(ma278_slope, title="ma278 slope filter", style=plot.style_area, color=abs(ma278_slope) > th ? na : color.yellow)
plot(ma27_slope, title="ma27 slope", style=plot.style_line, linewidth=2, color=ma27_slope >= 0 ? color.lime : color.fuchsia)
color_2 = color.new(color.green, 0)
color_3 = color.new(color.red, 0)
plot(ma83_slope, title="ma83 slope", style=plot.style_line, color=ma83_slope >= 0 ? color_2 : color_3)
plot(ma278_slope, title="ma278 slope", style=plot.style_line, color=ma278_slope >= 0 ? color.green : color.red)
plotshape(ma27_slope >= 0 ? ma27 : na, style=shape.triangleup, location=location.bottom, color=color.green)
plotshape(ma27_slope < 0 ? ma27 : na, style=shape.triangledown, location=location.top, color=color.red)
plotshape(ma27_slope >= 0 and not(ma27_slope[1] >= 0) ? ma27 : na, style=shape.triangleup, location=location.bottom, size=size.tiny, color=color.green)
plotshape(ma27_slope < 0 and not(ma27_slope[1] < 0) ? ma27 : na, style=shape.triangledown, location=location.top, size=size.tiny, color=color.red)
rising_2 = rising(ma27, 1)
falling_2 = falling(ma27, 1)
barcolor(color_bars ? no_trade and abs(ma27_slope) <= th ? color.white : jma_slope >= 0 ? rising_2 ? color.lime : color.green : falling_2 ? color.fuchsia : color.red : na)