Répondre

Ordre exécuté au milieu de la barre et non au début ou à la fin de la barre après redémarrage de MT4....

5 réponses

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

Il y a 7 ans #115240

Bonjour, j'ai un problème...

 

L'EA fonctionne correctement selon les règles et ouvre et ferme les ordres à l'ouverture/fermeture de la barre,

Mais si je redémarre ma plateforme MT4, lorsqu'elle s'ouvre à nouveau et que les règles sont respectées, elle ouvrira un ordre immédiatement au milieu de la barre sans attendre une nouvelle barre formatée....

 

Je veux que l'EA attende une nouvelle barre formatée et entre ensuite l'ordre (comme il se doit) et non sur le premier tick lors du redémarrage de la plateforme MT4 ou autre.

 

grâce..

0

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

Il y a 7 ans #137719

@Mark @Thomas ?..,

 

Cela m'arrive lorsque j'utilise des graphiques hors ligne..., peut-être quelque chose à voir avec "sqIsBarOpen" sous la fonction "drawStats()" ?..., aidez-moi le plus vite possible..., car lorsque je rouvre la plateforme MT4 avec un EA qui fonctionne sur des graphiques HORS LIGNE, il ouvre une nouvelle position dès que le premier tick arrive, et n'attend pas que la nouvelle barre s'ouvre....,

 

J'attends de l'aide... !, merci !....

0

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

Il y a 7 ans #137740

Quelqu'un............. ?

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #137759

Bonjour,

 

il me semble que l'événement de chargement de l'EA/chart fait que isBarOpen est vrai dans la fonction DrawStats. C'est pourquoi l'action est déclenchée. Je vais demander à Mark de vérifier

0

Karish

Customer, bbp_participant, community, sq-ultimate, 443 replies.

Visiter le profil

Il y a 7 ans #137775

Bonjour,

 

il me semble que l'événement de chargement de l'EA/chart fait que isBarOpen est vrai dans la fonction DrawStats. C'est pourquoi l'action est déclenchée. Je vais demander à Mark de vérifier

Merci Thomas, j'aimerais savoir comment je peux résoudre ce problème le plus rapidement possible....

Merci encore, j'attendrai la réponse... !

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 7 ans #137989

Karish, j'ai regardé et oui, c'est ainsi que cela fonctionne. Lorsque vous démarrez votre EA au milieu de la barre, il peut ouvrir l'ordre immédiatement, il n'attend pas le début d'une nouvelle barre.

 

La reconnaissance de l'ouverture d'une nouvelle barre vérifie s'il s'agit d'un premier tick de la barre actuelle, ce qui est le cas lorsque vous venez de démarrer l'EA au milieu de la barre.

 

Il est en fait assez difficile de le faire fonctionner uniquement pour les nouvelles barres ouvertes et non pour la première barre avec laquelle vous démarrez votre EA.

 

Cela devrait être possible en modifiant légèrement le code MQL - trouvez une fonction drawStats() où la variable sqIsBarOpen est définie.

 

Modifiez la condition comme suit :

 

   if(tmp != Time[0] && Volume[0] < 5 ) {}
      tmp = Time[0] ;
      open = Open[0] ;
      sqIsBarOpen = true ;
   } else {
      sqIsBarOpen = false ;
   }
 
Cette fonction vérifie que le volume du tick contrôlé doit être inférieur à 5, ce qui permet de filtrer les cas où le tick est contrôlé au milieu d'une barre.
Veuillez le tester avant de l'utiliser.

Marque
StratégieArchitecte de Quantités

0

Affichage de 5 réponses de 1 à 5 (sur un total de 5)