예스스탁
예스스탁 답변
2025-08-28 16:09:00
안녕하세요
예스스탁입니다.
input : sm(100);
input : cd(0.7);
var : src(0),di(0),c1(0),c2(0),c3(0),c4(0),c5(0);
var : i1(Nan),i2(Nan),i3(Nan),i4(Nan),i5(Nan),i6(Nan);
var : bfr(0),bfrColor(0);
src = close;
di = (sm - 1.0) / 2.0 + 1.0;
c1 = 2 / (di + 1.0);
c2 = 1 - c1;
c3 = 3.0 * (cd * cd + cd * cd * cd);
c4 = -3.0 * (2.0 * cd * cd + cd + cd * cd * cd);
c5 = 3.0 * cd + 1.0 + cd * cd * cd + 3.0 * cd * cd;
i1 = c1*src + c2*iff(isnan(i1[1])==true,0,i1[1]);
i2 = c1*i1 + c2*iff(isnan(i2[1])==true,0,i2[1]);
i3 = c1*i2 + c2*iff(isnan(i3[1])==true,0,i3[1]);
i4 = c1*i3 + c2*iff(isnan(i4[1])==true,0,i4[1]);
i5 = c1*i4 + c2*iff(isnan(i5[1])==true,0,i5[1]);
i6 = c1*i5 + c2*iff(isnan(i6[1])==true,0,i6[1]);
bfr = -cd*cd*cd*i6 + c3*i5 + c4*i4 + c5*i3;
bfrColor = iff(bfr > bfr[1] , green , IFf(bfr < bfr[1] , red , blue));
plot1(bfr, "Trend", bfrColor);
즐거운 하루되세요
> 사노소이 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다
> 지표식 부탁 드립니다.
//@version=4
study(title="CTI", overlay=true)
src = close
sm = input(100, title="Smoothing Period")
cd = input(0.7, title="Constant D")
di = (sm - 1.0) / 2.0 + 1.0
c1 = 2 / (di + 1.0)
c2 = 1 - c1
c3 = 3.0 * (cd * cd + cd * cd * cd)
c4 = -3.0 * (2.0 * cd * cd + cd + cd * cd * cd)
c5 = 3.0 * cd + 1.0 + cd * cd * cd + 3.0 * cd * cd
var float i1 = na
var float i2 = na
var float i3 = na
var float i4 = na
var float i5 = na
var float i6 = na
i1 := c1*src + c2*nz(i1[1])
i2 := c1*i1 + c2*nz(i2[1])
i3 := c1*i2 + c2*nz(i3[1])
i4 := c1*i3 + c2*nz(i4[1])
i5 := c1*i4 + c2*nz(i5[1])
i6 := c1*i5 + c2*nz(i6[1])
bfr = -cd*cd*cd*i6 + c3*i5 + c4*i4 + c5*i3
bfrColor = bfr > nz(bfr[1]) ? color.green : bfr < nz(bfr[1]) ? color.red : color.blue
plot(bfr, title="Trend", linewidth=2, color=bfrColor)