Nouvelle Bougie avec Moving Averages.mq5

 

Bonjour tout le monde
et j'espère que vous allez bien 🙂


je suis encore débutant et si quelqu'un peut m'expliquer ce code ? Et aussi si vous avez des liens ou d'autres façons de vérifier une nouvelle bougie ?

void CheckForOpen(void)
  {

//--- CODE ................

   MqlRates rt[2];

   if(rt[1].tick_volume > 1)
      return;

//--- CODE ................

  }

dans les exemples fournis par l'IDE MT5 se trouvent l'EA : Moving Averages.mq5, si j'ai bien compris la fonction CheckForOpen() elle permet d'ouvrir une position mais de faire quelques contrôles dont cette fameuse ligne de code qui permet d'ouvrir une seule position par bougie ?

Du coup comment gère t-on les 2 cas suivants lorsque :
rt[1].tick_volume = 0  ( dans ce cas-là fonction PositionOpen() pourra être exécutée  )
rt[1].tick_volume = 1 (  dans ce cas-là aussi la fonction  PositionOpen() pourra être exécutée ?)

je suis preneur de toute explication ou remarque Merci d'avance 🙂

 

Salut

c'est pas avec ça que tu vas vérifier si tu as une nouvelle bougie.
C'est une fonction void.... Elle regarde les deux dernières barres et le volume qui doit être supérieur à 1 ...

 
William210 #:

C'est une fonction void.... Elle regarde les deux dernières barres et le volume qui doit être supérieur à 1 ...

Merci pour ta réponse et ta réactivité, je n'ai pas tapé tout le code pour ne pas polluer le poste et me concentrer uniquement sur cette ligne de code, effectivement tu as raison c'est une fonction void mais tu peux consulter le code de la fonction complète de l'EA ( Moving Averages.mq5 ) qui est donné comme exemple dans l'IDE MT5

ZeroCafeine:
Du coup comment gère t-on les 2 cas suivants lorsque :
rt[1].tick_volume = 0  ( dans ce cas-là fonction PositionOpen() pourra être exécutée  )
rt[1].tick_volume = 1 (  dans ce cas-là aussi la fonction  PositionOpen() pourra être exécutée ?)

voila ma question ? les 2 cas ?

William210 #:
c'est pas avec ça que tu vas vérifier si tu as une nouvelle bougie.

aurais-tu des exemples ou des liens s'il te plaît🙂 

 

Moi aussi je suis débutant et pour être franc, je n'ai pas encore commencé à coder un EA. je me suis bien battu avec les indicateurs.


D'après ce que je lis du code cette condition qui fait sortir de la fonction fait braire

  if(rt[1].tick_volume>1)
      return;

et je ne la comprends pas trop

Il regarde si l'avant dernière barre (cloturée donc) n'a pas eu de variation. une bougie vide ...
Moi je la virerais et ça va tout de suite mieux marche

 
William210 #:

Moi aussi je suis débutant et pour être franc, je n'ai pas encore commencé à coder un EA. je me suis bien battu avec les indicateurs.


D'après ce que je lis du code cette condition qui fait sortir de la fonction fait braire

et je ne la comprends pas trop

Il regarde si l'avant dernière barre (cloturée donc) n'a pas eu de variation. une bougie vide ...
Moi je la virerais et ça va tout de suite mieux marche

la nuit porte conseils, je pense déjà avoir trouvé la réponse à ma question mais je suis pas sûre que je vais faire quelques tests demain et voir au niveau des log si les tick volume démarre à 0 ou 1 tous simplement, mais comme c'est en tick je c'est pas, on verra


En ce qui concerne le code je pense le comprendre très bien mais ma préoccupation est est-ce que le petit volume démarra 0 ou à 1

Pour donner suite à ta réponse je suis peut-être débutant mais il n'y a pas de place au hasard dans ma programmation, je ne peux donc pas me permettre d'ajouter ou de supprimer ligne don je ne comprends pas l'utilité, sinon ça serait de la programmation hasardeuse 😊, ben autant prendre un abonnement chez Florian 🤣


Pour te répondre à ton dernier questionnement au niveau de l'avant-dernière bougie, tu te trompes ici on parle bien de la dernière bougie et non pas de l'avant-dernière, l'avant-dernière bougie c'est la [0] et la dernière c'est la [1] 😊, corriger moi si je me trompe 😊

 
our te répondre à ton dernier questionnement au niveau de l'avant-dernière bougie, tu te trompes ici on parle bien de la dernière bougie et non pas de l'avant-dernière, l'avant-dernière bougie c'est la [0] et la dernière c'est la [1] 😊, corriger moi si je me trompe 😊
Bonjour.
Avec les constantes 0 est l'ouverture de la barre en cours, et donc il faut travailler avec 1 la dernière barre si je puis dire.

Pas avec mqlrates. 0 est bien la barre en cours.

Fais un arrayprint pour contrôler

Belle journée