Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Script de test sur la première version de l'algorithme:
Pour une fonction aussi simple, vous avez trop compliqué l'interface. Beaucoup d'exportations inutiles, alors que les choses nécessaires sont absentes. Je n'arrive pas à comprendre votre code tout de suite, je peux imaginer ce que ressentent les personnes qui ne sont pas très douées en programmation.
Je vais maintenant réfléchir et proposer ma propre version de l'exportation simplifiée et du fonctionnement du script de test.
L'approche "évolutive" de la recherche des valeurs des paramètres de l'équation FF n'a peut-être pas pour but d'améliorer l'efficacité de la recherche des valeurs, mais plutôt de modéliser le processus d'évolution.
Eh bien, comme l'évolution est représentée par des scientifiques...
L'approche est très cohérente dans sa conformité à tous les canons de l'évolution...
Proposition :
1. Une fonction de fitness prend un tableau de paramètres de type double et renvoie un nombre d'autant plus grand que les paramètres sont bien choisis. Le prototype de la fonction de fitness est le suivant :
2. La fonction de fitness possède quelques paramètres, qui sont spécifiés dans la structure FitnessParams. Une description de la structure est donnée ci-dessous :
3. La fonction d'aptitude et ses paramètres sont protégés de toute influence extérieure et sont stockés dans une bibliothèque indépendante..\Scripts\\\FF.ex5. Les valeurs des paramètres de la fonction d'aptitude et de son algorithme lui-même sont fixées au moment de la compilation par un arbitre indépendant et ne peuvent plus être modifiées par quiconque.
4. Un algorithme d'optimisation personnalisé et un script de vérification peuvent trouver les paramètres d'une fonction de fitness. À cette fin, le fichier Export.mqh contient les prototypes nécessaires de cette fonction et ses paramètres. Pour obtenir les paramètres FF, la fonction d'exportation, qui se trouve également dans ...\Scripts\\FF.ex5, est utilisée :
void GetFitnessParams(FitnessParams& params);
5. L'algorithme d'optimisation de l'utilisateur se trouve dans une bibliothèque utilisateur distincte et fermée..\Scripts\\\\N\N\N\N\N\N\N\N\N\N\N-UserFindExtremum.ex5 et est compilé séparément, du côté de l'utilisateur. La fonction FindExtremum doit être exportée vers la bibliothèque utilisateur. Cette fonction sera appelée par le script de vérification. Le prototype complet de la fonction est donné ci-dessous :
6. Le script de vérification charge dans son espace d'adressage la bibliothèque de la fonction de fitness ..\Scripts\\\\\FF\FF.ex5 avec ses paramètres, et la bibliothèque de la fonction membre Find Extremum..\Scripts\\\FF\UserFindExtremum.ex5. Ensuite, il appelle la fonction membre FindExtremum.
7. après l'exécution de la fonction de participant, le script de vérification interroge les paramètres de la fonction de fitness, qui contiennent la valeur maximale trouvée par la fonction de participant et le nombre d'appels nécessaires pour trouver ce maximum. Sur la base de ces données, un rapport sur le résultat du participant est généré sous la forme d'un tableau :
Lepost suivant ajoutera les fichiers nécessaires et un exemple d'utilisation.
Fichier Export.mqh - liste des fonctions disponibles et structure des paramètres communs à tous les participants.
Fichier FF.mq5 - exemple d'une fonction de fitness en bibliothèque.
Fichier TestFF.mq5 - algorithme de vérification sous forme de script
Fichier UserFindExtremum.mq5 - fonction personnalisée pour la recherche d'un extremum sous la forme d'une bibliothèque. Une recherche aléatoire est utilisée à titre d'exemple
Fichier Export.mqh - liste des fonctions disponibles et structure des paramètres communs à tous les participants.
Fichier FF.mq5 - exemple d'une fonction de fitness en bibliothèque.
Fichier TestFF.mq5 - algorithme de vérification sous forme de script
Fichier UserFindExtremum.mq5 - fonction personnalisée pour la recherche d'un extremum sous la forme d'une bibliothèque. Une recherche aléatoire est utilisée à titre d'exemple
Pour une fonction aussi simple, vous avez trop compliqué l'interface. Beaucoup d'exportations inutiles, alors que les choses nécessaires au contraire manquent. Je n'ai pas compris votre code depuis la première fois, je peux imaginer ce que ressentent les personnes qui ne sont pas très douées en programmation.
Je vais y réfléchir et proposer ma propre version du script d'exportation et de test simplifié.
Pourquoi n'est-ce pas nécessaire ?
Quel genre de choses manque-t-il ?
Après tout, il ne s'agit pas seulement de rendre la vie aussi difficile que possible aux participants ; j'ai donc tout fait, et je n'ai pas pensé à tout le premier jour, ni même au deuxième.
Pourquoi pas les bons ?
Lesquelles sont manquantes ?
Après tout, il ne s'agit pas seulement de rendre la vie des participants aussi difficile que possible. J'ai donc tout fait, et je n'ai pas pensé à tout le premier jour, ni même au deuxième.
Andrew, je ne sais pas pour les autres, mais personnellement, j'ai préféré l'exemple de Vassili. Sans vouloir vous offenser. Ce n'est que ma perception subjective.
Pour être juste, je propose de soumettre au vote la question du choix de l'interface de connexion (la vôtre ou celle de Vasiliy).
Qu'en pensez-vous ?
Andrew, je ne sais pas pour les autres, mais personnellement, je préférais l'exemple de Vasily. Sans vouloir vous offenser. C'est juste ma perception subjective...
Pour être juste, je propose de soumettre au vote la question du choix de l'interface de connexion (la vôtre ou celle de Vasiliy).
Qu'en pensez-vous ?
Pourquoi pas les bons ?
Lesquelles sont manquantes ?
Il ne s'agit pas seulement de rendre la vie aussi difficile que possible aux participants ; c'est ainsi que j'ai procédé, et ce n'est pas le premier jour que j'y ai pensé, ni même le deuxième.
Dans votre exemple, la tâche de recherche est partiellement déléguée au script du vérificateur. Ceci est incorrect. Le script du vérificateur doit appeler la recherche et vérifier son résultat et rien d'autre.
Tous les paramètres FF ne sont pas disponibles. Par exemple, comment obtenir le pas de paramètre (valeur 0.1), le maximum et le minimum possibles ? C'est bien sûr génial que chaque utilisateur lise ce forum et comprenne que le pas s'avère être 0,1, le minimum -10,0 et le maximum +10,0, puis entre ces constantes dans son code et espère que la fonction FF pense de la même manière. Mais ce n'est pas la bonne façon de le faire.
De nombreuses fonctions d'exportation, comme ServiceFunc1, ne sont utilisées que dans des algorithmes de recherche spécifiques. Par exemple, ils ne doivent pas être utilisés pour la recherche aléatoire. Alors pourquoi une bibliothèque d'utilisateurs devrait-elle les exporter ? Il suffit de séparer la tâche de test de la tâche de recherche pour se rendre compte que toute cette combinaison compliquée de fonctions d'exportation est inutile.
Il y a beaucoup d'autres choses qui rendent les add-ons inutiles.
Qu'est-ce que vous préférez exactement ?