Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2001

 
mytarmailS:

Ah, dann vergessen Sie, was ich geschrieben habe, in meiner Sprache ist i+1 die Zukunft.


dann nehmen Sie dieses Bild.

#


X[,10] ist 1, x[,1] ist 10.

 
int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}
if(X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.01129032255 && X[ForecastStart] > 0.0219354839){ForecastSum--;}
if(X[ForecastStart + 1] <= -0.057983871){ForecastSum++;}
if(X[ForecastStart + 1] > 0.0702419355){ForecastSum--;}
if(X[ForecastStart + 2] > 0.01362903225 && X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 1] > 0.00153225805){ForecastSum--;}
if(X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 2] > -0.01153225805 && X[ForecastStart + 1] <= 0.0040322581 && X[ForecastStart] <= -0.00596774195){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= -0.00403225805 && X[ForecastStart] > 0.00032258065){ForecastSum++;}
if(X[ForecastStart + 2] <= -0.03370967745 && X[ForecastStart] > 0.02814516125){ForecastSum--;}
if(X[ForecastStart + 3] > -0.025 && X[ForecastStart + 3] <= -0.00403225805 && X[ForecastStart + 2] > -0.03370967745){ForecastSum++;}
if(X[ForecastStart + 2] > -0.0266935484 && X[ForecastStart + 2] <= -0.025){ForecastSum--;}
if(X[ForecastStart + 1] > 0.0091129032 && X[ForecastStart + 1] <= 0.0277419355 && X[ForecastStart] <= -0.00096774195){ForecastSum++;}
if(X[ForecastStart + 1] <= 0.0564516129 && X[ForecastStart + 1] > 0.03935483875){ForecastSum++;}
if(X[ForecastStart + 2] > 0.02346774195 && X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.0212903226){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= 0.0233870968 && X[ForecastStart + 1] <= 0.0233870968 && X[ForecastStart] > 0.0091129032 && X[ForecastStart] <= 0.02766129035){ForecastSum++;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 1] <= -0.00120967745 && X[ForecastStart] > -0.00596774195 && X[ForecastStart] <= 0.0229032258){ForecastSum++;}
if(X[ForecastStart] > 0.0012903226){ForecastSum--;}
if(X[ForecastStart + 9] == X[ForecastStart + 9]){ForecastSum++;}

Ich habe das getan, habe es durch das Datenfeld laufen lassen und eine 50/50 Aufteilung erhalten.

Das Bild von Maxim war cooler.

 
Evgeniy Chumakov:

Ich habe das getan, habe es durch das Datenfeld laufen lassen und eine 50/50 Aufteilung erhalten.

Das Bild von Maxim war cooler.

Es gibt einen Fehler in Ihrem Code, deshalb ist es Blödsinn.

Sie sollte +- 98 % betragen.

genau wie bei Maxim's))


============================

Ich habe mit den ersten 5k Daten trainiert, die letzten tausend für den Test.

So sollte dieses Modell funktionieren +-

 ###  тест на нов. данных
Reference
Prediction  -1   1
        -1 619   4
        1    1 565
                                          
               Accuracy : 0.9958          
                 95% CI : (0.9902, 0.9986)
    No Information Rate : 0.5214          
    P-Value [Acc > NIR] : <2 e-16          
                                      


Aber dieses Ergebnis tritt nie ein, entweder haben Sie die Daten verwechselt oder die Daten sind so verzerrt, dass die Prognose keinen Wert hat...

Übrigens, was haben Sie mit den Daten gemacht?

 
condition                                                                                                       
 
[1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
                                                                          
      pred
 [1,] "1" 


Oben wie bei dir, unten wie bei mir.


int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}

ForecastSum ist das, wozu ich 1 addiere oder wovon ich 1 subtrahiere.

ForecastStart ist der Balken, mit dem ich beginne (Shift), der Prognosebalken bei 0 zählt.


Manchmal erhalte ich einen Prognosewert von 0.

 
Evgeniy Chumakov:


Oben wie bei dir, unten wie bei mir.


ForecastSum ist das, wozu ich 1 addiere oder wovon ich 1 subtrahiere.

ForecastStart ist der Balken, mit dem ich beginne (Shift), der Prognosebalken bei 0 zählt.


Manchmal erhalte ich einen Prognosewert von 0.

Das verstehe ich nicht.

Ich habe X[,1] ...... X[,10]

Sie haben einen Wertebereich von 1 bis 10

und Sie haben einen Prognosestart von 1 bis 9, d.h. der Wertebereich ist 9.

Warum? )

 
mytarmailS:

Das verstehe ich nicht.

Ich habe X[,1] ...... X[,10]

Sie haben einen Wertebereich von 1 bis 10

und Sie haben einen Bereich von 1 bis 9, d.h. 9.

Warum? )

ForecastStart + 9

1 (Startleiste) + 9 = 10;


array[cell number] - so funktioniert es in mt4.

 
In der Datei, die ich gepostet habe, steht in der ersten Zeile der Datei das letzte Mal, dass ein Wert empfangen wurde. Er befindet sich in der Zelle 0 des Arrays, dann in den Zellen 1,2,3,4,5,6,7,8 usw.
 
Evgeniy Chumakov:

1 (Startleiste) + 9 = 10;


array[cell number] - in mt4 ist dies der Fall.


aber der Bereich selbst ist neun

ForecastStart <- 1:9

ForecastStart
 1 2 3 4 5 6 7 8 9

length(ForecastStart)
9
 
Evgeniy Chumakov:
In der Datei, die ich gepostet habe, ist die erste Zeile am Anfang der letzte Wert, der in der Zeit kam. Er befindet sich in der Zelle 0 des Arrays, dann folgen die Zellen 1,2,3,4,5,6,7,8 usw.

Yeprst))))) wer macht das? ))))

ich werde es einfach ändern))

 

массив[0],[1],[2],[3],...[n]

müssen Sie die Zelle 0 vorhersagen.

ForecastStart ist kein Bereich, sondern ein Offset. Das heißt, ich beginne mit Zelle 1, wobei x[ForecastStart + 9] = 10 eine Array-Zelle ist.

Der Bereich reicht also von Zelle 1 bis 10.