Automatiser la recherche de stratégies. - page 2

 
un mineur est nécessaire, mais la recherche se fera toujours dans les conditions données. L'optimisation est également une stratégie de recherche, au sens étroit du terme. La question n'est pas correctement posée.
 
Yuriy Asaulenko:

Selon moi, la question est tout à fait correcte. Avant d'élaborer une stratégie, il serait bon de savoir si elle fonctionnera.

Il y a deux façons de le faire.

1. Excel - nous y écrivons la stratégie et la vérifions. tous les graphiques + de bonnes mathématiques à votre service. Oui, et + VBA.

2. MatLab - télécharger les cours dans la base de données, la connecter à MatLab et y modéliser la stratégie. Plus facile qu'avec Excel.

N'est-il pas plus facile de tout faire directement dans MT4/5 ? Pourquoi utiliser des programmes tiers si la recherche porte sur l'optimisation d'un portefeuille de stratégies ? Bien que je ne sois pas sûr que ce soit là la question ?
 
Stanislav Korotky:
N'est-il pas plus simple de tout faire directement dans MT4/5 ? Pourquoi des programmes tiers si la recherche porte sur l'optimisation d'un portefeuille de stratégies ? Je ne sais pas si c'était la question ?
Si vous recherchez une stratégie, ce n'est pas plus facile. Je ne sais pas ce qu'il en est du reste, je n'y ai pas réfléchi. Cependant, toute modélisation est plus facile dans des environnements spéciaux, pas dans la TA. La TA est un produit final, elle n'est pas conçue pour la recherche et ne s'y prête guère.
 
Youri Tarshecki:

Chaque fois que je charge des variantes dans l'autotest, j'y pense. Voici ce à quoi je pense

1. Le générateur de stratégies devrait fonctionner selon le principe de l'arbre évolutif du simple au complexe.

2. Les variantes devraient être immédiatement vérifiées sur le volking-forward et éliminées.

3. les fonctions devraient être préparées manuellement et le générateur ne devrait élaborer que les variantes de leur interaction, c'est-à-dire créer des interdépendances.

Soit dit en passant, dans le fil de discussion anglais, j'ai rencontré une mention d'un logiciel bulgare comportant des éléments de ce type. Mais comme il s'agissait d'un logiciel MT4, il ne m'intéressait pas.

Et voici un autre logiciel allemand, également sur MT4 http://darwins-fx-tools.com/.

Dans cette variante, le développement se poursuit... Un graphique d'interaction des fonctions est construit, l'espace de recherche est infini...

Les connexions entre les fonctions seront plus "significatives", par exemple, l'expression Open>Low a du sens, mais Open>Volume n'en a pas, et d'autres nuances....

 
Voici un autre exemple d'expression vide de sens : =High>(Open-Close), ne passe pas non plus.
 
Aliaksandr Hryshyn:
Voici un autre exemple d'expression vide de sens : =High>(Open-Close), ne passera pas non plus.

Vous vous noyez dans ce genre de broutilles. Par fonctions, j'entends un certain morceau de code interne cohérent préparé à l'avance, qui, avec l'aide d'indicateurs ou indépendamment, est responsable d'une certaine propriété de l'EA. C'est-à-dire d'une certaine idée.

Par exemple, un morceau qui définit des fractales sur l'histoire. Ou une pièce qui compte tout ce que vous ne lui donnez pas. Ou qui définit les taux de changement. Ou déterminer des niveaux.

La tâche du générateur consiste à combiner ces différents éléments en une seule solution technique. Par exemple, nous comptons le nombre de fractales sur le niveau et, en fonction du résultat, nous donnons la priorité à l'achat ou à la vente. Ou bien nous déterminons la somme des accélérations sur le niveau, la comparons à la même somme sur l'historique et établissons un facteur de correction dans une autre fonction. Etc etc.

Si l'on fait une analogie avec l'évolution de la matière vivante, il existe deux types de mutations qui fournissent le matériel nécessaire à la sélection. Le premier est celui des mutations ponctuelles, qui constituent en fait le nombre le plus important de changements dans le génome. Le problème est qu'elles ne mènent généralement à rien. Mais comme ce processus se déroule depuis des milliards d'années et sur des statistiques énormes, il y a toujours des chanceux. Personnellement, je n'ai pas un million d'années, ni une centaine, ni même une douzaine, pour faire une recherche stupide.

Le deuxième type de mutations est plus rare, mais plus intéressant, c'est lorsqu'il y a recombinaison, également spontanée, mais avec des solutions déjà toutes prêtes. Par exemple, lors de la formation d'un nouvel organisme sexuel, il y a un brassage des différents gènes du père et de la mère. Ou encore l'incorporation d'un virus dans le génome. Ou encore, le génome entier d'un organisme extraterrestre indépendant est repris. Ou encore, il y a fusion de chromosomes entiers pour former une nouvelle espèce (les hominidés, soit dit en passant).

La tâche d'un tel générateur est donc de recombiner ces fonctions selon un certain algorithme. Ce n'est qu'à ce moment-là qu'il y a une chance que quelque chose de nouveau émerge

En libérant le trader de la routine, un tel générateur lui laisserait la partie créative - la possibilité de se concentrer sur de nouvelles idées. En outre, la mécanisation réduit toujours le risque de subjectivité et aide à se débarrasser des timbres.

 
Youri Tarshecki:

Vous allez vous noyer dans les détails. Par fonctions, j'entends un morceau de code interne cohérent préparé à l'avance, qui, avec l'aide d'indicateurs ou indépendamment, est responsable d'une certaine propriété de l'Expert Advisor. C'est-à-dire d'une certaine idée.

Par exemple, un morceau qui définit les fractales sur l'histoire. Ou une pièce qui compte tout ce que vous ne lui donnez pas. Ou qui définit les taux de changement. Ou déterminer des niveaux.

La tâche du générateur consiste à combiner ces différents éléments en une seule solution technique. Par exemple, nous comptons le nombre de fractales sur le niveau et, en fonction du résultat, nous donnons la priorité à l'achat ou à la vente. Ou bien nous déterminons la somme des accélérations sur le niveau, la comparons à la même somme sur l'historique et établissons un facteur de correction dans une autre fonction. Etc etc.

Par conséquent, la tâche d'un tel générateur est de recombiner ces fonctions selon un certain algorithme. Ce n'est qu'à ce moment-là qu'il y a une chance que quelque chose de nouveau apparaisse

Que se passe-t-il si un morceau de code (une fonction) propose d'acheter et un autre de vendre. Comment le générateur peut-il combiner ces éléments en une solution consolidée ?

Ou bien, supposons qu'une fonction A pense que le prix va baisser avec une probabilité P(A), et qu'une autre fonction B pense que le prix va augmenter avec une probabilité P(B), que se passe-t-il ? Devons-nous appliquer les formules de la théorie des probabilités ?

 
Yuriy Asaulenko:
Si vous cherchez une stratégie, ce n'est pas plus facile. Je ne sais pas ce qu'il en est du reste, je n'y ai pas réfléchi. Cependant, toute modélisation est plus facile dans des environnements spéciaux, pas dans la TA. MT est un produit final, il n'est pas conçu pour la recherche et ne s'y prête guère
Cela dépend. Pour moi, il est plus facile de modéliser la stratégie en MT, et ce n'est pas un problème d'ajouter des algorithmes d'estimation par-dessus.
 
Yuri Evseenkov:

Que se passe-t-il si un morceau de code (fonction) propose d'acheter et un autre de vendre. Comment le générateur peut-il combiner ces éléments en une solution consolidée ?

Ou encore, supposons qu'une fonction A pense que le prix va baisser avec une probabilité P(A), et qu'une autre fonction B pense que le prix va augmenter avec une probabilité P(B), que faire ? Devons-nous appliquer les formules de la théorie des probabilités ?

Si j'ai bien compris, ces morceaux de code (fonctions) ont besoin de valeurs analogiques en sortie, et les valeurs binaires - achat/vente - seront déjà présentes dans les stratégies commerciales combinées à partir de ces fonctions avec l'aide de la sélection génétique.
 
Youri Tarshecki:

Vous allez vous noyer dans les détails. Par fonctions, j'entends un certain morceau de code interne cohérent préparé à l'avance, qui, avec l'aide d'indicateurs ou indépendamment, est responsable d'une certaine propriété de l'Expert Advisor. C'est-à-dire d'une certaine idée.

Par exemple, un morceau qui définit les fractales sur l'histoire. Ou une pièce qui compte tout ce que vous ne lui donnez pas. Ou qui définit les taux de changement. Ou déterminer des niveaux.

La tâche du générateur consiste à combiner ces différents éléments en une seule solution technique. Par exemple, nous comptons le nombre de fractales sur le niveau et, en fonction du résultat, nous donnons la priorité à l'achat ou à la vente. Ou bien nous déterminons la somme des accélérations sur le niveau, la comparons à la même somme sur l'historique et établissons un facteur de correction dans une autre fonction. Etc etc.

Si l'on fait une analogie avec l'évolution de la matière vivante, il existe deux types de mutations qui fournissent le matériel nécessaire à la sélection. Le premier est celui des mutations ponctuelles, qui constituent en fait le nombre le plus important de changements dans le génome. Le problème est qu'elles ne mènent généralement à rien. Mais comme ce processus se déroule depuis des milliards d'années et sur des statistiques énormes, il y a toujours des chanceux. Personnellement, je n'ai pas un million d'années, ni une centaine, ni même une douzaine, pour faire une recherche stupide.

Le deuxième type de mutations est plus rare, mais plus intéressant, c'est lorsqu'il y a recombinaison, également spontanée, mais avec des solutions déjà toutes prêtes. Par exemple, lors de la formation d'un nouvel organisme sexuel, il y a un brassage des différents gènes du père et de la mère. Ou encore l'incorporation d'un virus dans le génome. Ou encore, le génome entier d'un organisme extraterrestre indépendant est repris. Ou encore, il y a fusion de chromosomes entiers pour former une nouvelle espèce (les hominidés, soit dit en passant).

La tâche d'un tel générateur est donc de recombiner ces fonctions selon un certain algorithme. Ce n'est qu'à ce moment-là qu'il y a une chance que quelque chose de nouveau émerge

En libérant le trader de la routine, un tel générateur lui laisserait la partie créative - la possibilité de se concentrer sur de nouvelles idées. En outre, la mécanisation réduit toujours le risque de subjectivité et aide à se libérer des contraintes.

Il y a en effet beaucoup de petites choses.

J'ai essayé de créer un système universel afin de pouvoir ajouter différentes possibilités d'analyse des indicateurs, des chandeliers, etc. avec un minimum d'effort. Chaque fonction contient des informations sur les données avec lesquelles elle peut travailler et sur les données qui seront produites. Les indicateurs seront également décrits, ainsi que le type de données qu'ils fournissent. Les données sont divisées en types, à la fois simples et complexes, par exemple {double} et {int,double}. Elles sont divisées en catégories, pour le même exemple "prix" et "positions sur le graphique", un autre exemple : "ligne droite" (peut être utilisée pour définir des canaux), etc. Elles sont classées par "type d'échelle", par exemple "constante" (paramètre de la stratégie), "indice" (il y a un minimum et un maximum), "ratio" (il n'y a qu'un seul point de référence, par exemple le prix, le volume), etc. Il est nécessaire de modifier la stratégie de manière cohérente, il y a une telle nuance, la modification à un endroit peut affecter les conditions de modification à un autre endroit.

C'est vrai... Pour réduire le nombre de combinaisons de la recherche et utiliser les restrictions ci-dessus (type, échelle, catégorie), il suffira pour l'instant de modifications ponctuelles (ajout/suppression d'une/de quelques fonctions).

"Si l'on considère que la recombinaison est également spontanée, mais qu'il s'agit de solutions toutes faites (cette idée m'est venue à l'esprit), il est difficile d'imaginer comment elle peut être réalisée. Un groupe de fonctions combinées aura très probablement plus de connexions avec le "monde extérieur" qu'une fonction unique, de sorte qu'il y aura moins d'occasions de tout coincer. L'algorithme devient très compliqué, laissons-le en suspens jusqu'à des temps meilleurs)).