length = input(50),src = input(close)
//----
sum = 0.
filt = 0.
//----
ma = sma(src,length)
a = sign(change(ma))
for i = 0 to length-1
sum := sum + a[i]
alpha = abs(sum) == length ? 1 : 0
filt := alpha*ma+(1-alpha)*nz(filt[1],ma)
//----
css = filt > filt[1] ? #2157f3 : filt < filt[1] ? #ff1100 : na
plot(filt,"Plot",fixnan(css),3,transp=0)
변환 문의드립니다. 감사합니다.
답변 1
예스스탁
예스스탁 답변
2020-03-04 13:39:30
안녕하세요
예스스탁입니다.
해당 수식을 저희 랭귀지로 변경하면 아래와 같습니다.
적용하면 0으로만 리턴이 됩니다.'
어느부분을 수정해 드려야할지 잘 모르겠습니다.
수식 비교하셔서 수정보완해서 완성하셔야 할것 같습니다.
input : length(50);
var : src(0),sum(0),filt(0),mav(0),aa(0),cnt(0),alpha(0),css(0);
if CurrentBar >= 1 then
{
src = close;
mav = ma(src,length);
aa = sin(mav-mav[1]);
sum = 0;
filt = 0;
for cnt = 0 to length-1
{
sum = sum + aa[cnt];
}
alpha = iff(abs(sum) == length, 1, 0);
filt = alpha*mav+(1-alpha)*filt;
css = iff(filt > filt[1],RED,iff(filt < filt[1],BLUE,BLACK));
plot1(filt,"Plot",css);
}
즐거운 하루되세요
> 물고기 님이 쓴 글입니다.
> 제목 : 안녕하세요
> length = input(50),src = input(close)
//----
sum = 0.
filt = 0.
//----
ma = sma(src,length)
a = sign(change(ma))
for i = 0 to length-1
sum := sum + a[i]
alpha = abs(sum) == length ? 1 : 0
filt := alpha*ma+(1-alpha)*nz(filt[1],ma)
//----
css = filt > filt[1] ? #2157f3 : filt < filt[1] ? #ff1100 : na
plot(filt,"Plot",fixnan(css),3,transp=0)
변환 문의드립니다. 감사합니다.