예스스탁
예스스탁 답변
2021-02-17 11:44:07
안녕하세요
예스스탁입니다.
input : len(200),off(0),dev(4);
var : lreg(0),lreg_x(0),b(0),s(0),intr(0),i(0),dS(0);
var : de(0),up(0),down(0),up_t(0),down_t(0),trend(0),r_line(0);
lreg = LRL(c, len)[off];
lreg_x = lreg[off+1];
b = index;
s = lreg - lreg_x;
intr = lreg - b*s;
dS = 0;
for i = 0 to len-1
{
dS = dS + pow(c[i]-(s*(b-i)+intr), 2);
}
de = sqrt(dS/(len));
up = (-de*dev) + lreg;
down = (de*dev) + lreg;
up_t = iff(c[1] > up_t[1] , max(up, up_t[1]), up);
down_t = iff(c[1] < down_t[1] , min(down, down_t[1]) , down);
trend = iff(c > down_t[1] , 1, IFf(c < up_t[1] , -1 , iff(isnan(trend[1]) == true, 1,trend[1])));
r_line = iff(trend ==1 , up_t , down_t);
if CrossUp( c, r_line) Then
Buy();
if CrossDown(C, r_line) Then
Sell();
즐거운 하루되세요
> 짜왕 님이 쓴 글입니다.
> 제목 : 변환부탁드립니다
> c = input(close)
len = input(200, minval=1),off= 0,dev= input(4, "Deviation")
lreg = linreg(c, len, off), lreg_x =linreg(c, len, off+1)
b = bar_index, s = lreg - lreg_x,intr = lreg - b*s
dS = 0.0
for i=0 to len-1
dS:= dS + pow(c[i]-(s*(b-i)+intr), 2)
de = sqrt(dS/(len))
up = (-de*dev) + lreg
down= (de*dev) + lreg
up_t = 0.0
up_t := c[1] > up_t[1] ? max(up, up_t[1]) : up
down_t = 0.0
down_t := c[1] < down_t[1] ? min(down, down_t[1]) : down
trend = 0
trend := c > down_t[1] ? 1: c < up_t[1] ? -1 : nz(trend[1], 1)
r_line = trend ==1 ? up_t : down_t
buy=crossover( c, r_line)
sell=crossunder(c, r_line)