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

 
Maxim Dmitrievsky:

La prima linea di selezione è totalmente corretta ora. 2a linea dobbiamo combinare tutte le migliori variabili tra loro in un ciclo, e imparare RDF con ogni combinazione di caratteristiche. Anche qui possiamo applicare diverse trasformazioni polinomiali

Ecco come la vedo io

Mi ci è voluto molto tempo per capire il tuo primo codice per implementare questo:))))...quindi ora per favore non darmi un altro codice:))

Ogni volta che vuoi trasformare una caratteristica come il prezzo di chiusura... per favore assicurati di raccoglierla in una variabile o dai dati del nuovo prezzo o dai vecchi dati addestrati dalla matrice... che dovresti fare:)))

Poi, basta chiamare la funzione"CalculateNeuron(ker,degree)" con la variabile e poi, quando ottieni la nuova funzione aggiornala in Matrix o in qualsiasi altro modo tu voglia farlo:))

Voglio dire che l'intero compito di trasformazione delle caratteristiche usando GMDH sarà fatto all'interno della funzione che ho capito bene... Ora, come si alimentano i valori e si recuperano i valori che è la vostra scelta... )))))

 
Maxim Dmitrievsky:

beh, dammi solo più tempo... Non capisco ancora nulla, ma tutto va bene :)

troppe combinatorie qui

ma in uscita tutto deve essere chiaro - solo un array n-dimentale con le caratteristiche e le formule selezionate

Beh, se hai già capito il tuo codice precedente (che ho capito poco finora :)). allora dovrebbe essere solo 2 minuti di lavoro per te :))... perché non sto facendo nulla qui... solo copiando il tuo codice precedente e sostituendolo con GMDH :))

Ma se vuoi farlo in un altro modo... puoi prenderti il tuo tempo:)))

Naturalmente, non posso garantire circa la mia implementazione di GMDH:))... e non possiamo sapere nulla fino a quando non eseguiamo l'EA finale in modalità di trading LIVE:)))... anche i risultati del backtesting non sembrano essere affidabili...

Così potete provare il vostro modo o potete semplicemente farmi sapere nel caso in cui abbiate bisogno del codice per "(CalculateNeuron(ker,degree)" per implementare

Se funzionerà, allora potrò anche espandere i componenti di base a 20 o 30... e può essere lento durante l'addestramento e può essere lento nel trading anche a causa di più cicli for...ma poiché controllerà solo un valore di grado alla volta e quindi, possiamo aspettarci una velocità media...

 
Maxim Dmitrievsky:

Per te, forse lo capirai meglio

Ok, ci proverò...ma farò anche 100 domande diverse su questo codice e tu dovresti essere pronto a rispondere:))...

Perché dovresti capire che è completamente il tuo approccio e inoltre, stai cercando di codificare in un modo diverso che non ha alcun legame con il tuo codice precedente e quindi, non ho modo di capirlo finché non capisco esattamente cosa stai cercando di fare in questa versione... Quindi ci vorrà ancora un po' di tempo per capire e poi, cercherò di creare un ponte verso GMDH...

 
Maxim Dmitrievsky:

usiamo la selezione genetica per gdmh

Per questo, dobbiamo prima imparare RDF con ogni caratteristica separatamente, lo capite?

Cosa intende per selezione genetica del GDMH?

Nella mia conoscenza di GMDH, per ogni insieme di caratteristiche o input, darà un output come sommatoria di tutti gli input che si dividono in pezzi di caratteristiche. Quindi se date una caratteristica otterrete un solo output e anche se date 100 caratteristiche otterrete ancora un solo output come somma di pezzi rotti di tutte le caratteristiche precedenti e questo è tutto è GMDH

1.Se date SOLO una caratteristica come input, darà un output = caratteristica1*peso1

o

2.Se date una caratteristica e tutte le caratteristiche precedenti (nuova caratteristica o caratteristiche addestrate da RDF), allora trasformerà semplicemente la caratteristica corrente in un nuovo output=feature1*w1+feature2*w2+feature3*w3+....m componenti delle caratteristiche di base

Quindi qui se vuoi trasformare una nuova caratteristica, allora crea un array per memorizzare le caratteristiche addestrate da RDF e poi, passalo alla funzione "CalculateNeuron(ker,degree)". ma hai bisogno di passare un altro elemento di array a questa funzione.

 
Maxim Dmitrievsky:

potete fornire lo schema della vostra vista gmdh? passo dopo passo

Dammi un po' di tempo...ti fornirò il codice sorgente completo sia della libreria GMDH che dell'EA implementato usando il tuo codice precedente...lo sto solo cercando ora:)))

 

Ho curiosato in tutti i livelli con "MO" (questi MO sono alla ricerca di livelli di rimbalzo anticipati), a volte i segnali vengono fuori non male


E a volte il sistema impazzisce in una tendenza

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

Non so il motivo, come filtrarlo, qualcuno l'ha fatto o sono l'unico nel campo?

 
Maxim Dmitrievsky:

non abbiamo bisogno di riassumere i predittori con '+', perché non usiamo il solutore linerar. Invece, aggiungiamo solo nuovi ingressi, passo dopo passo, aumentando i numeri delle caratteristiche e le loro combinazioni

Getetic significa che lavoriamo solo con i migliori predittori in ogni fase della trasformazione, non con ogni predittatore. Quindi selezioniamo solo n migliori ad ogni passo

Nessun problema allora, basta creare un array dinamico e ad ogni passo passare quegli elementi dell'array come input alla funzione "Neuron function()", ma è necessario aggiungere un altro input a questa funzione.

Sto usando gli input del "Calsignal()" dove si copiano i prezzi di chiusura...Quindi, invece di questo, basta aggiungere gli elementi dell'array ad ogni passo del completamento della formazione RDF e poi, liberare l'array.Hai capito?

Incollerò i codici nel mio prossimo post. Per favore, copiate e poi cancellate il post.

 
GMDH
 

GMDH EA:

 
Maxim Dmitrievsky:

non abbiamo bisogno di riassumere i predittori con '+', perché non usiamo il solutore linerar. Invece, aggiungiamo solo nuovi ingressi, passo dopo passo, aumentando i numeri delle caratteristiche e le loro combinazioni

Getetic significa che lavoriamo solo con i migliori predittori in ogni fase della trasformazione, non con ogni predittatore. Quindi selezioniamo solo n migliori ad ogni passo

Per favore copiate il codice e fatemi sapere...cancellerò il codice: