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

 
gobirzharf:

Sobald ein Schwimmer schwimmen lernt und anfängt, herumzuplatschen, um Aufmerksamkeit zu erregen, hat er sofort ein 200 kg schweres Gewicht um den Hals, und es gibt keine Möglichkeit, dass jemand untergeht)

Das ergibt keinen Sinn.

 
mytarmailS:

Sie können leicht ...

Aber welche Art von Fehler Sie bei der Erstellung der Daten haben, können Sie nicht diese Ergebnisse haben ...

Es scheint kein Fehler vorzuliegen. Ich sehe es nicht mit dem Auge, ich habe einfach in die Datei geschrieben, was ich im Kopf hatte.

Frage an Maxim: Als du das + - - Zeichen vorausgesagt hast, hast du damit eine Zahl trainiert, die in der Datei stand? Oder in der normalisierten 0-1-Reihe?

 
Evgeniy Chumakov:


Ist es ein komplizierter Algorithmus? Kann es sofort in mql4/5 implementiert werden oder ist das, was ich frage, Unsinn?

es ist möglich

Es gibt, sagen wir mal, einen gut etablierten Stapel von Technologien. Sie können direkt zu mt5 gehen oder Sie können mit Python beginnen und es dann in mt5 exportieren. Sie können mit Python beginnen, aber auf MT5 handeln. In jedem Fall können Sie es trotzdem tun.

 
Evgeniy Chumakov:

Es scheint keine Fehler zu geben. Ich sehe es nicht mit dem Auge, ich habe im Kopf, was in die Datei geschrieben wird.

Frage an Maxim, wann die Vorhersage des + - - Zeichens in der Zeile, die sich in der Datei befindet, geübt wurde? Oder in der normalisierten 0-1-Reihe?

in derselben Zeile, aber die Antworten werden mit 0-1 normiert

 
Maxim Dmitrievsky:

können Sie

es gibt, sagen wir mal, einen gut etablierten Technologie-Stack. Sie können direkt in mt5 gehen, Sie können zuerst in Python, dann exportieren Sie zu mt5. Sie können Python verwenden, aber auf MT5 handeln. Sie können tun, was Sie wollen.


Ist es nicht freundlich mit der 4?

Ist es schwierig, Python auf Win 10 x64 zu installieren, ohne Tambourine?

 
Evgeniy Chumakov:


Ist sie mit 4 überhaupt nicht einverstanden?

Ist es schwierig, Python auf Win 10 x64 zu installieren, ohne Tamburin?

4 ist ein Atavismus.

Wahrscheinlich nicht, es sei denn, man ist ein burjatischer Schamane.

 
Maxim Dmitrievsky:

4 ist ein Atavismus.

Wahrscheinlich nicht, es sei denn, man ist ein burjatischer Schamane.

Machen Sie ihm einfach ein Modell in Form von Protokollierungsregeln, lassen Sie ihn es in seinen Code einbetten, warum den Mann mit Python quälen?

Oder sollte ich es tun?

 
Evgeniy Chumakov:
 condition                                                                                                       
 [1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
 [2,] "X[,9]>-0.057983871 & X[,9]<=-0.01129032255 & X[,10]>0.0219354839"                                              
 [3,] "X[,9]<=-0.057983871"                                                                                           
 [4,] "X[,9]>0.0702419355"                                                                                            
 [5,] "X[,8]>0.01362903225 & X[,8]<=0.0564516129 & X[,9]>0.00153225805"                                               
 [6,] "X[,8]<=0.0564516129 & X[,8]>-0.01153225805 & X[,9]<=0.0040322581 & X[,10]<=-0.00596774195"                     
 [7,] "X[,8]>-0.03370967745 & X[,8]<=-0.00403225805 & X[,10]>0.00032258065"                                           
 [8,] "X[,8]<=-0.03370967745 & X[,10]>0.02814516125"                                                                  
 [9,] "X[,8]<=-0.03370967745 & X[,10]<=0.02443548385"                                                                 
[10,] "X[,7]>-0.025 & X[,7]<=-0.00403225805 & X[,8]>-0.03370967745"                                                   
[11,] "X[,8]>-0.0266935484 & X[,8]<=-0.025"                                                                           
[12,] "X[,9]>0.0091129032 & X[,9]<=0.0277419355 & X[,10]<=-0.00096774195"                                             
[13,] "X[,9]<=0.0564516129 & X[,9]>0.03935483875"                                                                     
[14,] "X[,8]>0.02346774195 & X[,9]>-0.057983871 & X[,9]<=-0.0212903226"                                               
[15,] "X[,8]>-0.03370967745 & X[,8]<=0.0233870968 & X[,9]<=0.0233870968 & X[,10]>0.0091129032 & X[,10]<=0.02766129035"
[16,] "X[,8]>-0.03370967745 & X[,9]<=-0.00120967745 & X[,10]>-0.00596774195 & X[,10]<=0.0229032258"                   
[17,] "X[,10]>0.0012903226"                                                                                           
[18,] "X[,1]==X[,1]"                                                                                                  
      pred
 [1,] "1" 
 [2,] "-1"
 [3,] "1" 
 [4,] "-1"
 [5,] "-1"
 [6,] "-1"
 [7,] "1" 
 [8,] "-1"
 [9,] "-1"
[10,] "1" 
[11,] "-1"
[12,] "1" 
[13,] "1" 
[14,] "-1"
[15,] "1" 
[16,] "1" 
[17,] "-1"
[18,] "1"

Die Daten werden als Schiebefenster der Größe 10 dargestellt, die Regeln basieren auf diesen Daten...

das erste Element X[ , 1] ....... X[ , 10] letzte (aktuelle Kerze)

pred

Das sagt die Regel voraus

das Modell sagt ein Vorzeichen voraus, mehr als Null "1", weniger als "-1"

Modell hat 97-99% Genauigkeit


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

Hier ist der gesamte Code in R... so groß und unüberschaubar ))))

d <- read.csv(file = "C:\\..........\\EURUSD_returns.csv")
d <- d[,1]

X <- embed(d, 10)[ , 10:1]  
Y <- as.factor(sign(  c(X[-1,ncol(X)] , 1)  ))

library(inTrees)
library(RRF)
rf <- RRF(X,Y,ntree=100) 
treeList <- RF2List(rf)
ruleExec <- unique(extractRules(treeList,X,maxdepth = 10))
ruleMetric <- getRuleMetric(ruleExec,X,Y) #  measure rules
ruleMetric <- pruneRule(ruleMetric,X,Y) #  prune each rule
learner <- buildLearner(ruleMetric,X,Y)

learner
 

mytarmailS:

so groß und unüberschaubar ))))


Das ist nicht einmal witzig))) Ich weiß nicht, was ich damit anfangen soll.

 
Evgeniy Chumakov:

Es ist nicht einmal lustig)) Ich weiß nicht, was ich damit anfangen soll.

Lachen Sie nicht, aber verstehen Sie es besser...

Sie brauchen keinen Code, Sie brauchen Protokollierungsregeln (das ist ein Modell), Sie nehmen diese Regeln und fügen sie in Ihren Code ein, die Menge der Vorhersagen aus den Regeln wird die Antwort des Modells sein - "1" oder "-1".

Wenn Sie es nicht verstehen, fragen Sie nach.

solange es mir gut geht))