100*Abs(F-C)/C
Индикатор абсолютной ошибки прогноза
Periods:= Input("periods=",12, 120, 24);
Cor01:=Correl(C, Ref(C, -1), Periods, 0);
Cor02:=Correl(C, Ref(C, -2), Periods, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), Periods, 0);
S2:=Power(Stdev(Ref(C,-2),Periods),0.5);
S1:=Power(Stdev(Ref(C,-1),Periods),0.5);
S0:=Power(Stdev(C,Periods),0.5);
Ccoef:=S0*(Cor02- Cor01* Cor12)/(S2*(1-Cor12* Cor12));
Bcoef:=(Cor01* S0-Ccoef*Cor12*S2) / S1;
Abs(Ref( Mov(C, Periods,S)-Bcoef*Mov(Ref(C,-1),Periods,S)- Ccoef*Mov(Ref(C,-2),Periods,S) + Bcoef*C + Ccoef* Ref(C,-1),-1)-C)
Индикатор сравнения ошибки прогноза
Ошибка прогноза AR2 сравнивается с ошибкой простого прогноза (прогноз на завтра равен сегодняшней цене)
Periods:= Input("periods=",12, 120, 24);
Cor01:=Correl(C, Ref(C, -1), Periods, 0);
Cor02:=Correl(C, Ref(C, -2), Periods, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), Periods, 0);
S2:=Power(Stdev(Ref(C,-2),Periods),0.5);
S1:=Power(Stdev(Ref(C,-1),Periods),0.5);
S0:=Power(Stdev(C,Periods),0.5);
Ccoef:=S0*(Cor02- Cor01* Cor12)/(S2*(1-Cor12* Cor12));
Bcoef:=(Cor01* S0-Ccoef*Cor12*S2) / S1;
F:=Ref( Mov(C, Periods,S)-Bcoef*Mov(Ref(C,-1),Periods,S)- Ccoef*Mov(Ref(C,-2),Periods,S) + Bcoef*C + Ccoef* Ref(C,-1),-1);
If(C = Ref(C, -1), 5, Abs(F-C)/Abs(C - Ref(C, -1)))
Торговые системы на основе индикатора прогноза.
Optimist
Оптимистическая система.
Открывает позицию в направлении прогноза (X > Ref(X,-1)).
Cor01:=Correl(C, Ref(C, -1), Opt1, 0);
Cor02:=Correl(C, Ref(C, -2), Opt1, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), Opt1, 0);
S2:=Power(Stdev(Ref(C,-2),Opt1),0.5);
S1:=Power(Stdev(Ref(C,-1),Opt1),0.5);
S0:=Power(Stdev(C,Opt1),0.5);
Ccoef:=S0*(Cor02- Cor01* Cor12)/(S2*(1-Cor12* Cor12));
Bcoef:=(Cor01* S0-Ccoef*Cor12*S2) / S1;
Forecast_AR2:=Ref( Mov(C, Opt1,S)-Bcoef*Mov(Ref(C,-1),Opt1,S)- Ccoef*Mov(Ref(C,-2),Opt1,S) + Bcoef*C + Ccoef* Ref(C,-1),-1);
Forecast_AR2 > Ref(Forecast_AR2,-1)
System notes (Optimist сучетомМА)
Enter long
Cor01:=Correl(C, Ref(C, -1), opt1, 0);
Cor02:=Correl(C, Ref(C, -2), opt1, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), opt1, 0);
S2:=Power(Stdev(Ref(C,-2),opt1),0.5);
S1:=Power(Stdev(Ref(C,-1),opt1),0.5);
S0:=Power(Stdev(C,opt1),0.5);
Ccoef:=S0*(Cor02- Cor01* Cor12)/(S2*(1-Cor12*
Cor12));
Bcoef:=(Cor01* S0-Ccoef*Cor12*S2) / S1;
ForecastAR2:=Ref( Mov(C,
opt1,S)-Bcoef*Mov(Ref(C,-1),opt1,S)-
Ccoef*Mov(Ref(C,-2),opt1,S) + Bcoef*C + Ccoef*
Ref(C,-1),-1);
Mov(C,opt2,S)> Ref(Mov(C,opt2,S),-1)
AND ForecastAR2 > Ref(ForecastAR2,-1)
Enter short
Cor01:=Correl(C, Ref(C, -1), opt1, 0);
Cor02:=Correl(C, Ref(C, -2), opt1, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), opt1, 0);
S2:=Power(Stdev(Ref(C,-2),opt1),0.5);
S1:=Power(Stdev(Ref(C,-1),opt1),0.5);
S0:=Power(Stdev(C,opt1),0.5);
Ccoef:=S0*(Cor02- Cor01* Cor12)/(S2*(1-Cor12*
Cor12));
Bcoef:=(Cor01* S0-Ccoef*Cor12*S2) / S1;
ForecastAR2:=Ref( Mov(C,
opt1,S)-Bcoef*Mov(Ref(C,-1),opt1,S)-
Ccoef*Mov(Ref(C,-2),opt1,S) + Bcoef*C + Ccoef*
Ref(C,-1),-1);
Mov(C,opt2,S)<Ref(Mov(C,opt2,S),-1)
AND ForecastAR2 < Ref(ForecastAR2,-1)
OPT1
Range: From 5 to 20 by 5
Current value: 5
OPT2
Range: From 1 to 13 by 2
Current value: 1
Осторожный Optimist
Открывает позицию в направлении прогноза (X > Ref(X,-1)), если этот рост показан 3 свечи подряд.
System notes
Enter long Cor01:=Correl(C, Ref(C, -1), opt1, 0);
Cor02:=Correl(C, Ref(C, -2), opt1, 0);
Cor12:=Correl(Ref(C, -1), Ref(C, -2), opt1, 0);
S2:=Power(Stdev(Ref(C,-2),opt1),0.5);
S1:=Power(Stdev(Ref(C,-1),opt1),0.5);
S0:=Power(Stdev(C,opt1),0.5);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.