L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 1074

 
Maxim Dmitrievsky:

La première ligne de sélection est totalement correcte maintenant. En deuxième ligne, nous devons combiner toutes les meilleures variables les unes avec les autres dans une boucle, et apprendre RDF avec chaque combinaison de caractéristiques. Ici aussi, nous pouvons appliquer différentes transformations polynomiales.

c'est ainsi que je vois les choses

Il m'a fallu beaucoup de temps pour comprendre votre premier code pour mettre en œuvre ce : ))))...alors maintenant s'il vous plaît ne me donnez pas un autre code :))

Chaque fois que vous voulez transformer une caractéristique comme le prix de clôture ... s'il vous plaît assurez-vous de le recueillir dans une variable soit à partir de nouvelles données de prix ou d'anciennes données formées de la matrice ... que vous devriez faire. :))))

Ensuite, il suffit d'appeler la fonction"CalculateNeuron(ker,degree)" avec la variable et ensuite, lorsque vous obtenez la nouvelle fonctionnalité, mettez-la à jour dans Matrix ou ce que vous voulez faire :))

Je veux dire que toute la tâche de transformation des caractéristiques en utilisant GMDH sera faite à l'intérieur de la fonction que je comprends bien... Maintenant, comment vous alimentez les valeurs et récupérez les valeurs qui est votre choix... )))))

 
Maxim Dmitrievsky:

Eh bien, donnez-moi juste plus de temps... Je ne comprends encore rien, mais tout va bien :)

trop de combinatoires ici

mais à la sortie, tout doit être clair - juste un tableau n-dimentionnel avec des caractéristiques et des formules sélectionnées.

Eh bien, si vous avez déjà compris votre code précédent (que j'ai un peu compris jusqu'à présent :))... alors cela ne devrait prendre que 2 minutes de travail pour vous :))... parce que je ne fais rien ici... je ne fais que copier votre code précédent et le remplacer par GMDH :)))

Mais si vous voulez le faire d'une autre manière... vous pouvez prendre votre temps :))))

Bien sûr, je ne peux pas garantir ma mise en œuvre de GMDH :))... et nous ne pouvons rien savoir avant d'exécuter l'EA final en mode de trading LIVE :)))... même les résultats des backtests ne semblent pas être fiables...

Vous pouvez donc essayer votre propre méthode ou me le faire savoir au cas où vous auriez besoin du code pour "(CalculateNeuron(ker,degree)" à mettre en œuvre.

Si ça marche, je pourrai même étendre les composants de base à 20 ou 30... et il peut être lent pendant la formation et peut être lent dans le commerce aussi en raison de multiples boucles for... mais puisqu'il vérifiera juste une valeur de degré à la fois et donc, nous pouvons nous attendre à une vitesse moyenne....

 
Maxim Dmitrievsky:

Pour vous, peut-être que vous comprendrez mieux.

Ok, je vais essayer...mais je vais poser 100 questions différentes sur ce code aussi et vous devriez être prêt à répondre :))....

Parce que vous devez comprendre que c'est complètement votre approche et aussi, vous essayez de coder d'une manière différente qui n'a aucun lien avec votre code précédent et donc, je n'ai aucun moyen de le comprendre jusqu'à ce que je comprenne exactement ce que vous essayez de faire dans cette version ... Donc, il faudra un peu plus de temps pour comprendre et puis, je vais essayer de créer un pont vers GMDH ...

 
Maxim Dmitrievsky:

nous utilisons la sélection génétique pour le gdmh

pour cela, nous devons d'abord apprendre le RDF avec chaque fonctionnalité séparément, comprenez-vous cela ?

Qu'entendez-vous par sélection génétique du GDMH ?

D'après ce que je sais de GMDH, pour chaque ensemble de caractéristiques ou d'entrées, il donnera une sortie sous la forme d'une somme de toutes les entrées décomposées en éléments de caractéristiques. Donc, si vous donnez une caractéristique, vous obtiendrez une sortie et même si vous donnez 100 caractéristiques, vous obtiendrez une sortie UNIQUEMENT comme la somme des morceaux brisés de toutes les caractéristiques précédentes et c'est tout est GMDH

Si vous ne donnez qu'une seule caractéristique en entrée, vous obtiendrez une sortie = caractéristique 1*poids 1.

ou

Si vous donnez une caractéristique et toutes les caractéristiques précédentes (nouvelle caractéristique ou caractéristiques formées à partir de RDF), alors il transformera simplement la caractéristique actuelle en nouvelle sortie = caractéristique1*w1+ caractéristique2*w2+ caractéristique3*w3+....m composantes des caractéristiques de base.

Donc, ici, si vous voulez transformer une nouvelle caractéristique, créez un tableau pour stocker les caractéristiques formées à partir de RDF, puis passez-le à la fonction "CalculateNeuron(ker,degree)". Mais vous devez passer un élément de tableau supplémentaire à cette fonction.

 
Maxim Dmitrievsky:

Pouvez-vous simplement fournir le schéma de votre vision de la gmdh ? étape par étape

Donnez-moi un peu de temps... Je vous fournirai le code source complet de la bibliothèque GMDH et de l'EA implémenté à l'aide de votre code précédent... Je suis juste en train de le chercher maintenant :))))

 

J'ai fait le tour de tous les niveaux avec "MO". (ces MOs recherchent des niveaux de rebond anticipés), parfois les signaux sortent pas mal


Et parfois le système devient fou dans une tendance

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

Je ne sais pas pourquoi, comment le filtrer, est-ce que quelqu'un l'a fait ou suis-je le seul dans ce domaine ?

 
Maxim Dmitrievsky:

nous n'avons pas besoin de résumer les prédicteurs avec '+', car nous n'utilisons pas le solveur linerar. Au lieu de cela, nous ajoutons simplement de nouvelles entrées, étape par étape, en augmentant le nombre de caractéristiques et leurs combinaisons.

Getetic signifie que nous travaillons uniquement avec les meilleurs prédicteurs à chaque étape de la transformation, et non avec tous les prédicteurs. Donc nous ne sélectionnons que les n meilleurs à chaque étape

Pas de problème, il suffit de créer un tableau dynamique et de transmettre à chaque étape les éléments de ce tableau comme entrées à la fonction "Neuron function()", mais il faut ajouter une entrée supplémentaire à cette fonction.

J'utilise les entrées de "Calsignal()" où vous copiez les prix de clôture... Au lieu de cela, il suffit d'ajouter les éléments du tableau à chaque étape de l'achèvement de la formation RDF, puis de libérer le tableau.

Je vais coller les codes dans mon prochain message. Veuillez copier et ensuite, supprimer le message.

 
GMDH
 

GMDH EA :

 
Maxim Dmitrievsky:

nous n'avons pas besoin de résumer les prédicteurs avec '+', car nous n'utilisons pas le solveur linerar. Au lieu de cela, nous ajoutons simplement de nouvelles entrées, étape par étape, en augmentant le nombre de caractéristiques et leurs combinaisons.

Getetic signifie que nous travaillons uniquement avec les meilleurs prédicteurs à chaque étape de la transformation, et non avec tous les prédicteurs. Donc nous ne sélectionnons que les n meilleurs à chaque étape

Veuillez copier le code et me le faire savoir... Je vais supprimer le code :

Raison: