Erreurs, bugs, questions - page 2659
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
vous pouvez essayer d'utiliser une fonction du numéro de passage comme base de génération.
Si certains paramètres d'entrée changent pendant l'optimisation, leur combinaison (somme, produit, degré...) peut être utilisée pour définir la base de génération des nombres pseudo-aléatoires. Probablement (mais pas définitivement :D ), un effet secondaire serait de pouvoir reproduire en une seule fois le code contenant des nombres "aléatoires".
On peut générer/trouver un tableau de caractères, relativement aléatoire, en quelques kilo-octets (texte de Pouchkine :) ). Tout se résume à une mise en œuvre astucieuse du caractère aléatoire pour satisfaire aux exigences de la tâche, si la proposition n'est pas vérifiée, je me souviens de tels problèmes dans de nombreuses bibliothèques.
Collègues, veuillez me conseiller, si j'ouvre le graphique ChartOpen(), comment puis-je ramener le focus (activité, visibilité) sur le graphique à partir duquel le conseiller expert travaille sans le fermer.
Et qui sait pourquoi Bid, Ask ne coïncide pas avec le prix du graphique Close[0]https://www.mql5.com/ru/forum/160683/page1082#comment_15152111
Tout se résume à une mise en œuvre astucieuse de la randomisation pour répondre aux exigences des tâches.
Je ne pense pas que ce soit le problème... le pseudo-aléatoire lui-même fonctionne assez bien, le problème est dans la base de génération - avec des entrées constantes (pendant l'optimisation) la base est la même, donc les résultats sont toujours proches. j'ai suggéré comment maximiser la dispersion de la base de génération
il me semble que ce n'est pas le problème... le pseudo-aléatoire lui-même fonctionne bien, le problème est dans la base de génération de la série - avec des entrées constantes (pendant l'optimisation) la base est la même, donc les résultats sont toujours proches. j'ai suggéré comment maximiser la dispersion de la base de génération
Je suis d'accord. Je voulais simplement dire le fait, si la mémoire sert, que souvent trouvé (sont) les bibliothèques qui ne fonctionnent pas initialisation, c'est à dire sans raison de la même base, si elle n'est pas vérifiée et utilisée, beaucoup ne le savent pas.
photo comme ci-dessus
solution crusty directement - définir le nombre de srand dans les propriétés de l'EA. ou prendre dans le hash des paramètres, alors au moins les randoms auront une initialisation différente.
J'ai trouvé cette solution hier, elle fonctionne correctement.
mes questions portent en général sur l'exactitude de rand() dans teter, maintenant que j'ai recherché alglib, il utiliseMathRand() une fois dans randomreal() , qui sera ensuite souvent utilisé dans la bibliothèque alglib.
mes questions portent généralement sur l'exactitude de rand() dans le teter
Apparemment, pour obtenir un bon caractère aléatoire dans le testeur, vous ne pouvez pas initialiser avec le temps.
c'est exactement ce que c'est
a écrit hier que cela contredit la documentationhttps://www.mql5.com/ru/forum/1111/page2657#comment_15165819 et que l'exemple MathSrand() de l'aide donnera un résultat différent de celui attendu dans le testeur
UPD : mon problème est un peu plus profond - je veux utiliser tester pour l'apprentissage profond et sauvegarder les meilleures configurations NS possibles via l'échange d'agent à agent - j'ai tout prévu en général, mais je voulais gérer les collisions via le démarrage (ou l'arrêt) de l'agent avec une valeur aléatoire..... mais hélas toutes les valeurs aléatoires ne sont pas aléatoires dans les agents testeurs ;)))
Dans la plupart des cas, le testeur doit garantir la reproductibilité des résultats. L'exigence que les résultats soient randomisés sans changer les paramètres d'entrée et l'état de l'environnement (toutes les fonctions liées au temps virtuel) est en contradiction avec la tâche et la mise en œuvre du testeur.
c'est bien ce que vous écrivez, mais j'ai besoin de séparer l'ordre d'accès des agents lors de la sauvegarde dans la base de données
en fait, vous avez besoin d'un ID d'agent local dans le testeur, je ne sais pas pourquoi cette fonctionnalité n'existe pas.
besoin d'un ID - agent local dans le testeur, je ne sais pas pourquoi il n'y a pas une telle fonctionnalité