Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration - page 68

 
fxsaber:

L'Android doit avoir été avec une IP différente.

Le routeur ne doit pas changer l'IP après un redémarrage. Et il est compréhensible que le blocage d'IP se produise.

J'ai une IP dynamique, il faut payer un supplément pour une IP statique.

L'androïde fonctionne en WiFi, tout le monde à la maison aura la même IP externe.

Je pense qu'il y a un problème avec les serveurs DNS ou CDN.

Android via Google DNS 8.8.8.8 devrait fonctionner - c'est peut-être la raison, au moins les ressources que RK a bloqué la plupart de la TV via android s'ouvre sans aucun problème sans aucun VPN, etc.

 
Faites un ping et un traceroute, j'ai récemment eu un service que je pensais avoir été interdit aussi, surtout une fois pendant exactement 24 heures, mais il s'est avéré que le signal se perdait quelque part entre les pays.
 

Pouvez-vous me dire comment faire un double clic sur un fichier opt/tst dans l'explorateur pour importer le cache approprié dans le testeur ?

J'ai essayé une ligne comme ça, ça ne marche pas.

terminal64.exe test.opt
Chaîne de recherche: Uluchshenie 014.
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration

fxsaber, 2020.03.05 06:06

Tout est normal maintenant. La situation problématique est la suivante.


Les deux fois, je l'ai fait pendant la longue saisie d'un gros message avec chargement d'images.

Long - probablement plus d'une heure (j'ai été distrait plusieurs fois, puis je suis revenu). C'est probablement un système de sécurité qui se déclenche avec ce comportement.

Pour clarifier, le site devient inaccessible pendant de nombreuses heures. Photo ci-dessus.

Pour le reproduire, il faut commencer à écrire une réponse dans un fil de forum pendant une demi-heure, en insérant des images dans le message. En même temps, il n'est pas nécessaire de terminer la rédaction du billet.


Après ce temps, mql5.com sera indisponible avec une réponse comme indiqué ci-dessus.

 
La description de l'optimisation avec l'algorithme génétique indique que l'optimisation continue là où elle a été arrêtée, si nous ne changeons pas les paramètres d'entrée - en fait, l'optimisation redémarre et les résultats de la nouvelle optimisation sont ajoutés aux résultats de l'optimisation arrêtée. Il serait toujours pratique d'avoir une possibilité d'arrêter l'optimisation, surtout quand elle prend beaucoup de temps. Cette question est restée sans réponse pendant plusieurs années.
Travailler avec des agents sur le réseau local n'est pas non plus optimal - il faut des heures pour oublier des agents déconnectés. En conséquence, l'optimisation s'arrête pendant 30 min à plusieurs heures, jusqu'à ce que le programme décide que l'agent est perdu ! Ces questions sont posées sur les forums depuis plusieurs années, mais il n'y a aucune réponse des développeurs !
 

Je ne sais même pas où demander, ni comment formuler le problème, mais je vais essayer :

il y a 10 paramètres d'entrée EA

input int param1 =  00;
input int param2 =  01;
input int param3 =  02;
input int param4 =  03;
input int param5 =  04;
input int param6 =  05;
input int param7 =  06;
input int param8 =  07;
input int param9 =  08;
input int param10=  09;

int arr_param[10];

//+------------------------------------------------------------------+
int OnInit()
{
   arr_param[0] = param1;
   arr_param[1] = param2;
   arr_param[2] = param3;
   arr_param[3] = param4;
   arr_param[4] = param5;
   arr_param[5] = param6;
   arr_param[6] = param7;
   arr_param[7] = param8;
   arr_param[8] = param9;
   arr_param[9] = param10;
   
   return(INIT_SUCCEEDED);
}

les paramètres d'entrée peuvent prendre des valeurs de 0 à 99

comment organiser une recherche complète avec un testeur sur le principe des combinaisons sans répétitions ?

c'est-à-dire par le nombre de combinaisons sans répétitions - :

  1. 0, 1,2 ...99
  2. {0,1} {0,2}... {98,99}
  3. {0,1,2} {0,1,3}... {97,98,99}
  4. ....
  5. jusqu'à 10 combinaisons sans répétitions {0,1,2,3,4,5,6,7,8,9} {0,1,3..10}... {90,91,92,93,94,95,9697,98,99}

Générer toutes les combinaisons sans répétition n'est pas difficile, mais comment faire pour que les stratégies du testeur remplissent mon tableau int arr_param[10] je ne peux pas y penser

ZS : J'ai besoin de changer les paramètres pour former le nom du fichier paramètres - là paramètres EA, je veux essayer de ramasser un portefeuille de stratégies automatiquement

 
Igor Makanu:

Il n'est pas difficile de générer toutes les combinaisons sans répétitions, mais je n'arrive pas à trouver comment faire en sorte que le testeur de stratégie remplisse un tableau de int arr_param[10] pour moi

Je vous demande de mettre une vérification de coïncidence dans OnInit.

 
Igor Makanu:

comment organiser une recherche complète avec le testeur selon le principe des combinaisons sans répétitions ?

c'est-à-dire par le nombre de combinaisons sans répétitions - :

  1. 0, 1,2 ...99
  2. {0,1} {0,2}... {98,99}
  3. {0,1,2} {0,1,3}... {97,98,99}
  4. ....
  5. jusqu'à 10 combinaisons sans répétitions {0,1,2,3,4,5,6,7,8,9} {0,1,3..10}... {90,91,92,93,94,95,9697,98,99}

Générer toutes les combinaisons sans répétition n'est pas difficile, mais comment faire pour que les stratégies du testeur remplissent mon tableau int arr_param[10] je ne peux pas penser

Je veux changer les paramètres pour former un nom de fichier de configurations - il y a des configurations d'EA, je veux essayer de ramasser un portefeuille de stratégies automatiquement.

Ça ressemble à ça :

1. Nous définissons un masque de bits pour chaque paramètre :

  • 0 - n'est pas inclus dans l'ensemble
  • 1 - est inclus dans l'ensemble

Au total, nous introduisons un hyperparamètre binaire qui est énuméré de 1 à 2^10 (car il y a 10 paramètres).

2. Les paramètres eux-mêmes sont recherchés indépendamment mais nous voulons vérifier s'ils sont inclus dans l'optimisation ou non lors de l'appel à OnInit. S'il ne participe pas, nous sortons par TesterStop. Cela ne nous épargnera pas les combinaisons inutiles, mais cela nous permettra de ne pas en tester d'autres.

 
fxsaber:

Je vous demande de mettre un contrôle de correspondance dans OnInit.

Oui, il est clair que si le tableau contient deux éléments identiques alors return(INIT_FAILED) - le problème est de former des combinaisons avec une recherche par un élément, puis par le 2ème... et ainsi de suite jusqu'à 10 éléments

Rashid Umarov:

Ça ressemble à ça :

1. Nous créons un masque de bits pour chaque paramètre :

  • 0 - n'appartient pas à l'ensemble
  • 1 - est inclus dans l'ensemble

Au total, nous introduisons un hyperparamètre binaire qui est énuméré de 1 à 2^10 (puisqu'il y a 10 paramètres).

2. Les paramètres eux-mêmes sont recherchés indépendamment mais nous voulons vérifier s'ils sont inclus dans l'optimisation ou non lors de l'appel à OnInit. S'il ne participe pas, nous sortons par TesterStop. Cela n'éliminera pas les combinaisons inutiles, mais cela permettra d'éviter de tester celles qui ne le sont pas.

C'est exactement l'algorithme que je recherche, mais je n'ai pas dépassé le stade de la génération de tous les tableaux séparément et de leur utilisation dans mes recherches ((()

j'ai besoin d'un algorithme, au moins "sur les doigts" - ensuite je vais écrire moi-même, l'algorithme de toutes les combinaisons sans répétition n'est pas compliqué - googlé sur les forums d'étudiants, et comment utiliser au mieux le testeur je ne comprends pas encore

 
Igor Makanu:

Oui il est clair que si le tableau a deux éléments identiques alors return(INIT_FAILED) - le problème est de former des combinaisons avec une recherche par un élément, puis par le 2ème... et ainsi de suite jusqu'à 10 éléments

Il est fort probable que vous ayez 10 CTs identiques. Ensuite, les numéros de CT de l'ensemble doivent être dans l'ordre croissant.