L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 1998

 
gobirzharf:

Non importa) Appena un nuotatore impara a nuotare e comincia a sguazzare, attirando l'attenzione, avrà immediatamente un peso di 200 kg intorno al collo, e non c'è modo che qualcuno vada giù)

Non ha alcun senso.

 
mytarmailS:

Si può facilmente ...

Ma che tipo di errore avete nella creazione dei dati, non potete avere questi risultati...

Non sembra esserci alcun errore. Non lo vedo a occhio, ho solo scritto quello che avevo in mente nel file.

Domanda a Maxim, quando stavi prevedendo il segno + - -, ti stavi allenando su un numero che era nel file? O sulla riga normalizzata 0 - 1?

 
Evgeniy Chumakov:


È un algoritmo complicato? Può essere implementato immediatamente in mql4/5 o quello che sto chiedendo non ha senso?

è possibile

C'è, diciamo, uno stack consolidato di tecnologie. Puoi passare direttamente a mt5 o puoi iniziare con python e poi esportarlo in mt5. Puoi iniziare con Python, ma fare trading su MT5. In ogni caso, potete farlo comunque.

 
Evgeniy Chumakov:

Sembra che non ci siano errori. Non lo vedo a occhio, quello che ho in mente è quello che ho scritto nel file.

Domanda a Maxim, quando prevedere il + - - segno di formazione ha avuto luogo sulla riga che è nel file? O sulla riga normalizzata 0 - 1?

sulla stessa riga, ma le risposte sono normalizzate 0-1

 
Maxim Dmitrievsky:

è possibile

c'è, diciamo, uno stack tecnologico ben consolidato. Puoi andare direttamente in mt5, puoi prima in python, poi esportare in mt5. Puoi usare Python, ma fare trading su MT5. Puoi fare quello che vuoi.


Non è amichevole con il 4?

È difficile installare python su win 10 x64, senza tamburello?

 
Evgeniy Chumakov:


Non è per niente amichevole con il 4?

È difficile installare Python su win 10 x64, senza tamburello?

Il 4 è un atavismo.

Probabilmente no, a meno che tu non sia uno sciamano Buryat.

 
Maxim Dmitrievsky:

Il 4 è un atavismo.

Probabilmente no, a meno che tu non sia uno sciamano Buryat.

Basta fargli un modello sotto forma di regole di log, lasciarglielo incorporare nel suo codice, perché torturare l'uomo con python?

O dovrei farlo io?

 
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"

I dati sono rappresentati come una finestra scorrevole di dimensione 10, le regole sono basate su questi dati...

il primo elemento X[ , 1] ....... X[ , 10] ultimo (candela corrente)

pred

questo è ciò che la regola prevede

il modello predice un segno, più di zero "1", meno di "-1"

il modello ha il 97-99% di accuratezza


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

ecco tutto il codice in R... così grande e incomprensibile ))))

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:

così grande e incomprensibile ))))


Non è nemmeno divertente))) non so cosa farci.

 
Evgeniy Chumakov:

Non è nemmeno divertente)) Non so cosa farci.

Non ridere, ma capiscilo meglio...

Non hai bisogno di un codice, hai bisogno di regole di registrazione (questo è un modello), prendi queste regole e mettile nel tuo codice, la quantità di previsioni dalle regole sarà la risposta del modello - "1" o "-1".

Se non lo capite, chiedete.

mentre sono buono))