아래, 스토케스틱 fastD의 함수값 중
ema 지수이평이 아닌
다른 값1,2로 대체하여 각각 다른 새로운 함수를 만들고 싶습니다.
Input : Period(NumericSimple), Period1(NumericSimple);
FastD = ema(FastK(Period), Period1);
--------- 다른 값 1 (쿠프먼 필터)-----------
input: period(60),시그널(15);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
var1 = AMA ;
plot1(AMA);
--------------- 다른 값 2 (LRL)-----------
Input : Period(14);
var : LRLv(0);
LRLv = LRL(C,Period);
Plot1(LRLv, "LRS");
답변 1
예스스탁
예스스탁 답변
2020-03-23 09:35:37
안녕하세요
예스스탁입니다.
1
사용자함수명 : AMAFastD
반환갑형 : 숫자형
Input : Period(NumericSimple), Period1(NumericSimple);
var : efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
var : value(0);
value = FastK(Period);
efratio = 1;
diff = absvalue(value - value[1]);
if currentbar > period1 then {
signal = absvalue(value - value[period1]);
noise = accumN(diff,period1);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(value - AMA[1]);
}
else
AMA = value ;
AMAFastD = AMA;
2
사용자함수명 : LRLFastD
반환갑형 : 숫자형
Input : Period(NumericSimple), Period1(NumericSimple);
LRLFastD = LRL(FastK(Period), Period1);
즐거운 하루되세요
> 흑수돌 님이 쓴 글입니다.
> 제목 : 수식 문의
> 아래, 스토케스틱 fastD의 함수값 중
ema 지수이평이 아닌
다른 값1,2로 대체하여 각각 다른 새로운 함수를 만들고 싶습니다.
Input : Period(NumericSimple), Period1(NumericSimple);
FastD = ema(FastK(Period), Period1);
--------- 다른 값 1 (쿠프먼 필터)-----------
input: period(60),시그널(15);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
var1 = AMA ;
plot1(AMA);
--------------- 다른 값 2 (LRL)-----------
Input : Period(14);
var : LRLv(0);
LRLv = LRL(C,Period);
Plot1(LRLv, "LRS");