Ouverture, fermeture dans le conseiller expert généré par l'assistant MQL5 - page 6

 
Andy:

EURUSD sur M1 ; pas de ticks, mais par barres ; test à partir de 18:00 MSK ; (impossible d'insérer une capture d'écran).


Veuillez lire attentivement, point par point :

mode de génération de tick, dates de test : de ... A. Capture d'écran du nom de la ligne du testeur et en même temps des entrées du journal. En général, une description détaillée.


 
Andy:

Tout est écrit, sauf la capture d'écran (croyez-moi sur parole).


Lisez ce qui précède. Tant que vous n'aurez pas TOUT écrit, je ne répondrai pas.

 
Andy:

Pourquoi ont-ils supprimé mon message ?

EURUSD sur M1 ; pas de ticks, mais par barres ; test à partir de 18:00 MSC.

Ici, bougie baissière à 18:15sur la ligne longue et short dans le journal.



Mise à jour du fichier (imprime maintenant le motif "0" aussi).


Ajouté : utilisation de Strategy Tester - pas besoin de torturer le terminal en direct en même temps :)

Dossiers :
 
Andy:

Il n'y en avait pas, et lesquels ?


Ouvrez le fichier : fonctions CSignalMA::LongCondition et CSignalMA::ShortCondition - vous pouvez y voir toutes les impressions. Et maintenant je dois prendre congé, c'est l'heure du poêle.

 
Andy:

Sur les lignes, il s'écrit correctement (long) mais dans le journal, il indique court (motif 1).


Veuillez fournir les informations suivantes :

  1. type de compte de trading : compensation ou couverture
  2. Capture d'écran du testeur de stratégie : onglet "Paramètres" et "Paramètres".
  3. Décrivez en détail ce que vous entendez par "Les lignes sont correctes (longues), mais le journal est court (modèle 1)".

 
Andy:
Pour les comptes de compensation et de couverture, les paramètres par défaut sont corrects (pas besoin de faire une capture d'écran), mais lorsque le patch 1 doit être exécuté, la ligne écrit tout correctement (long), mais en fait le log du Conseiller Expert est court et vice versa. Vous pouvez le vérifier vous-même - exécutez le fichier et il sera identique dans le terminal et dans le testeur. Et ensuite, comment enlever ces lignes ?

Lorsque la position est inversée - à ce moment-là, deux lignes verticales sont créées - vous pouvez vérifier ceci : les deux dernières lignes auront le même temps. Pour visualiser - j'ai remplacé la ligne verticale par les objets "OBJ_ARROW_UP" et "OBJ_ARROW_DOWN" :

Étape 1

и

Étape 2

Comme vous pouvez le voir dans la deuxième capture d'écran, il y avait DEUX signaux et un signal d'achat a été remporté (la position de vente a été fermée et une position d'achat a été ouverte).

Lorsque vous générez un EA, recherchez le module appelé "Signaux de l'indicateur 'Moving Average' + OBJ_ARROW_UP_DOWN".


Dossiers :
 
Andy:

Et pour le modèle 1, il devrait y avoir un signal de vente car la bougie est haussière, mais l'indicateur est en baisse (faible rebond depuis la ligne de l'indicateur).

Ces deux signaux proviennent de quel modèle, l'un est de 1 (Vendre) et l'autre est d'où (Acheter) ?


Je vais maintenant réfléchir à ce que je pourrais mettre d'autre dans les journaux pour voir le fonctionnement interne du module des signaux et de la classe CExrert.

 
Andy:

Et sur le modèle 1, il devrait y avoir un signal de vente car la bougie est haussière, mais l'indicateur est en baisse (faible rebond depuis la ligne de l'indicateur).

Ces deux signaux proviennent de quel modèle, l'un est de 1 (Vendre) et l'autre est d'où (Acheter) ?


Vladimir Karputov:

Je vais maintenant réfléchir à ce que je pourrais mettre d'autre dans les journaux pour montrer le fonctionnement interne du module des signaux et de la classe CExrert.


Version 1.001 du module de signal : sortie (impression) de la direction du signal, du numéro de motif, de l'intensité du signal et des formules.

   double            DiffMA(int ind)                     { return(MA(ind)-MA(ind+1));  }
   double            DiffOpenMA(int ind)                 { return(Open(ind)-MA(ind));  }
   double            DiffHighMA(int ind)                 { return(High(ind)-MA(ind));  }
   double            DiffLowMA(int ind)                  { return(Low(ind)-MA(ind));   }
   double            DiffCloseMA(int ind)                { return(Close(ind)-MA(ind)); }

Exemple de sortie :

2017.01.13 00:00:18   ShortCondition: m_pattern_0 12247, result 80, Open(1.06259), Close(1.06229), MA(1.06475)
***
2017.01.13 17:00:00   LongCondition: m_pattern_0 26715, result 80, Open(1.06451), Close(1.06449), MA(1.06302)
2017.01.13 17:00:00   LongCondition: m_pattern_3 5648, result 60, Low(1.06199)-MA(1.06302)<0.0
Dossiers :
 
Andy:
Je vais maintenant essayer un nouveau fichier, mais sur le précédent - avec une bougie baissière croisant un indicateur croissant, deux signaux : une vente à partir du motif 0 et un achat à partir du motif 1, et c'était un déclencheur de vente.

Une telle question n'est pas acceptée. Donnez une description détaillée : capture d'écran de STRATEGY TESTER : onglet "paramètres", onglet "paramètres". Date à laquelle vous avez constaté l'anomalie : extrait du fichier journal du testeur, capture d'écran du moment de l'essai visuel.


Si vous ne fournissez pas ces données nécessaires, il est inutile de poursuivre la discussion, car moi ou quelqu'un d'autre DOIT être en mesure de REVISER sans équivoque votre situation.

 
Andy:

Et pourquoi deux motifs sont déclenchés en même temps (même dans votre capture d'écran) ?


Parce que c'est la vie et que personne n'a annulé la théorie des probabilités (sur les très petites échelles de temps, comme M1, les prix des barres et les valeurs des indicateurs sont très proches les uns des autres - il est donc possible que plusieurs modèles soient détectés simultanément). Exécutez le testeur de stratégie sur H1 - les situations seront alors plus claires.

Raison: