아래의 지표식에서
일봉상의 지표값을 분봉차트에 표시하고자 할 때의 지표식을 작성하여 주시면 감사하겠습니다.
[지표식]
Inputs: Period(20);
Vars: Noise(0), Signal(0), Diff(0), efRatio(0), Smooth(1), Fastest(0.6667), Slowest(0.0645), AdaptMA(0);
Diff = AbsValue(Close - Close[1]);
IF CurrentBar <= Period Then
AdaptMA = Close;
IF CurrentBar > Period Then Begin
Signal = AbsValue(Close - Close[Period]);
Noise = accumN(Diff, Period);
efRatio = Signal / Noise;
Smooth = Power(efRatio * (Fastest - Slowest) + Slowest, 2);
AdaptMA = AdaptMA[1] + Smooth * (Close - AdaptMA[1]);
End;
plot1(AdaptMA,"Adaptive moving average");
답변 1
예스스탁
예스스탁 답변
2020-06-02 13:38:40
안녕하세요
예스스탁입니다.
해당 지표가 과거 봉수에 영향을 받습니다.
분봉에서 일봉을 구현하면 긴기간 일봉차트에서 볼때의 값과 다를수 있습니다.
이용에 참고하시기 바랍니다.
INPUTS: PERIOD(5);
VARS: NOISE(0), SIGNAL(0), DIFF(0), EFRATIO(0), SMOOTH(1), FASTEST(.6667), SLOWEST(.0645), ADAPTMA(0);
var : cnt(0),dayidx(0),ADAPTMA1(0);
if date != date[1] Then
{
ADAPTMA1 = ADAPTMA[1];
dayidx = dayidx+1;
}
if dayidx <= Period Then
ADAPTMA = CLOSE;
Else
{
signal = abs(DayClose-DayClose(Period));
noise = 0;
for cnt = 0 to Period-1
{
noise = noise+abs(DayClose(cnt)-DayClose(cnt+1));
}
EFRATIO = SIGNAL / NOISE;
SMOOTH = POWER(EFRATIO *(FASTEST - SLOWEST)+SLOWEST,2);
ADAPTMA = ADAPTMA1 + SMOOTH * (DayClose - ADAPTMA1);
}
plot1( ADAPTMA);
즐거운 하루되세요
> 너무조아 님이 쓴 글입니다.
> 제목 : 분봉차트에서의 지표식
> 아래의 지표식에서
일봉상의 지표값을 분봉차트에 표시하고자 할 때의 지표식을 작성하여 주시면 감사하겠습니다.
[지표식]
Inputs: Period(20);
Vars: Noise(0), Signal(0), Diff(0), efRatio(0), Smooth(1), Fastest(0.6667), Slowest(0.0645), AdaptMA(0);
Diff = AbsValue(Close - Close[1]);
IF CurrentBar <= Period Then
AdaptMA = Close;
IF CurrentBar > Period Then Begin
Signal = AbsValue(Close - Close[Period]);
Noise = accumN(Diff, Period);
efRatio = Signal / Noise;
Smooth = Power(efRatio * (Fastest - Slowest) + Slowest, 2);
AdaptMA = AdaptMA[1] + Smooth * (Close - AdaptMA[1]);
End;
plot1(AdaptMA,"Adaptive moving average");