Les résultats de l'optimisation diffèrent des tests individuels sur ces derniers - page 4

 
eugene-last:
Définir le tf... Un indicateur, oui, est utilisé. Là tf : NULL, PERIOD_H1
Plutôt standard. Et quoi ou quoi d'autre pourrait être lié au tf ?


Oui, essayez de cette façon :

Complétez votre code avec ce qui suit - ceci est dans les variables globales

// Глобальные переменные
//
static datetime prevtime = 0;       // по ценам открытия

c'est juste après le départ

int start()    // -----------------------СТАРТ ЭКСПЕРТА--------------- 
{
  
 
   if(Time[0] == prevtime)   return(0);  //ждем нового бара
   prevtime = Time[0];                   //если появился новый бар , включаемся 
...

Test et opyt sur TF M1 par modèle de prix d'ouverture - seulement pour les Expert Advisors avec un contrôle explicite de l'ouverture des barres...

En outre, partout, dans les indicateurs que vous utilisez, dans l'EA elle-même, vous devez prescrire explicitement les délais de travail, comme vous le jugez nécessaire, par exemple,

double MA_1 = iMA(Symbol(),PERIOD_D1,Period_MA,0,MODE_EMA,PRICE_TYPICAL,1);
Plus tard, écrivez ici avec les résultats des tests et de l'optimisation...
 
Toutes les sociétés de courtage n'ont pas assez d'historique sur M1, si c'est le cas, alors essayez de tester et d'optimiser sur un TF pas plus grand que celui que vous avez explicitement spécifié dans le SOV ou les INDICATEURS, c'est-à-dire que si vous écrivez "There tf : NULL, PERIOD_H1", alors testez et optimisez sur H1 en ouvrant le modèle de prix - seulement pour les Expert Advisors avec un contrôle explicite de l'ouverture des barres...
 

Contactez ensuitele support technique, attendez le tir.

Voici le fil de la FAQ, qui se trouve généralement sur la première page du forum. Il est facile de trouver où s'adresser en cas d'erreurs suspectées au niveau du testeur ou du terminal.

Vous devez fournir les éléments suivants :

1. le code source de l'Expert Advisor.

2. L'ensemble complet utilisé dans les tests/optimisation.

3. et enfin, énoncer clairement l'essence du problème.

 
Mathemat:

eugene-last, puis contacter le support technique, attendre pour tirer.

Voici le fil de la FAQ, qui se trouve généralement sur la première page du forum. Il est facile de trouver où s'adresser en cas d'erreurs suspectées au niveau du testeur ou du terminal.

Vous devez fournir les éléments suivants :

1. le code source de l'Expert Advisor.

2. Le jeu complet utilisé dans les tests/optimisation.

3. enfin, énoncez clairement la nature du problème.


Il se fait tard...

On dirait que c'est déjà parti... : "Même en supposant que quelque chose ne va pas DANS les passes, eh bien au moins la toute première passe de l'optimisation devrait être identique à l'essai unique ?!
Allez-y, tirez...."




 
Roman.:


C'est trop tard...

Cela ressemble à : "Même en supposant que quelque chose se passe mal DANS les passes, eh bien au moins la toute première passe de l'optimisation devrait être identique au test unique ?!

Go shoot...."

J'ai supprimé les indicateurs, le résultat est le même - incohérence.
Je vais passer en revue tout le processus, je vais commencer par la première fonction et ajouter progressivement une fonction à la fois jusqu'à ce que je tombe sur la fonction qui cause l'incohérence.
En attendant votre support technique, je suis habitué à ce que je connais, mais voici ..............
 
eugene-last:
J'ai supprimé les indicateurs, le résultat est le même : l'incohérence.
Je vais passer en revue toutes les étapes, commencer par la première fonction, et les ajouter une par une, jusqu'à ce que je tombe sur la fonction qui cause l'incohérence.
J'attends votre support technique, je suis habitué à ce que je connais, mais ici .............


Une chose que vous devez comprendre, c'est qu'il s'agit d'un processus NORMAL de débogage du code cov, surtout s'il a une tournure, comme on dit.

Couvrez tout avec des imprimantes - Print() ; et dans le testeur en mode visualisation en ouvrant les prix via F12 - pas à pas, barre par barre - suivez le contenu de l'onglet "Log" du testeur de stratégie, où les imprimantes rapportent toutes la valeur de tel ou tel paramètre ou variable... etc.

Avec la bonne approche, vous vous rattraperez et sortirez votre propre erreur dans le code !

Néanmoins, vous devriez lire tous les articles sur le travail de testeur de stratégie... :-)

 
eugene-last: Je vais tout passer en revue, en commençant par la première fonction et en ajoutant progressivement une autre fonction à la fois jusqu'à ce que je trouve la fonction qui cause l'incohérence.

C'est la bonne approche.

J'ai moi-même un problème en ce moment. Tant que je ne serai pas sûr de ne pas pouvoir le résoudre, je n'écrirai pas au support technique ou au forum.

 
Roman.:
Toutes les sociétés de courtage n'ont pas assez d'historique sur M1, si c'est le cas, alors essayez de tester et d'optimiser sur un TF pas plus grand que celui que vous avez explicitement spécifié dans le SOV ou les INDICATEURS, c'est-à-dire que si vous écrivez "there tf : NULL, PERIOD_H1", alors testez et optimisez sur H1 en ouvrant le modèle de prix - seulement pour les EA avec un contrôle explicite de l'ouverture des barres ...

Dans ce cas, il est préférable de tester sur un horizon temporel inférieur à celui prescrit dans les indicateurs.

Sinon, dans cette heure, l'EA ne pourra que fermer la position, et ne pourra l'ouvrir que dans l'heure suivante, et ce uniquement si les conditions sont toujours remplies.

m1 - m15 sont les plus appropriés pour tester un EA, travaillant sur n1, et c'est encore plus important si l'EA clôture sur tp et sl.

 
eugene-last:

Oh, et une dernière bizarrerie. Si vous effectuez l'optimisation plusieurs fois, sans génétique, dites simplement 32 passages. Ainsi, en comparant les rapports de PLUSIEURS optimisations, nous constatons que les résultats coïncident à 100%.

Vous choisissez n'importe quelle passe, l'exécutez une fois et obtenez un résultat différent.

Même si nous supposons que quelque chose ne va pas entre les passes, eh bien au moins la première passe d'optimisation devrait être identique à un seul test !

Allez tirer....

Celui qui est destiné à être pendu à une boucle ne se tirera pas dessus.

voici une autre astuce : il a été observé à plusieurs reprises que des cas similaires avec exactement les mêmes résultats de test sont éliminés en redémarrant le terminal.

redémarrer le terminal et obtenir des résultats de test nouveaux/différents.

 
mersi:

celui qui est destiné à être pendu à un noeud coulant ne se tirera pas dessus.

voici une autre astuce : il a été observé à de nombreuses reprises que des cas similaires avec des résultats de test exactement répétés sont éliminés en redémarrant le terminal.

redémarrer le terminal et obtenir des résultats de test nouveaux/différents.

Supprimez le cache et obtenez de nouveaux résultats, je le sais.