Comparer les 2 dernier valeur de LAST_TICK.BID

Noxtube  

Bonjour à tous,

Pouvez vous m'aider avec une fonction qui compare les 2 dernière valeurs de Last_tick.bid ?

merci d'avance 

2022.08.03 13:44:32.725 (Boom 300 Index,M1)     Bid: 3809.291, 
2022.08.03 13:44:33.339 (Boom 300 Index,M1)     Bid: 3809.261, 
2022.08.03 13:44:34.358 (Boom 300 Index,M1)     Bid: 3809.222, 
2022.08.03 13:44:35.529 (Boom 300 Index,M1)     Bid: 3809.164, 
2022.08.03 13:44:36.406 (Boom 300 Index,M1)     Bid: 3809.121, 
2022.08.03 13:44:37.435 (Boom 300 Index,M1)     Bid: 3809.091, 
2022.08.03 13:44:38.394 (Boom 300 Index,M1)     Bid: 3809.027, 
2022.08.03 13:44:39.376 (Boom 300 Index,M1)     Bid: 3808.973, 
2022.08.03 13:44:40.399 (Boom 300 Index,M1)     Bid: 3808.904, 
2022.08.03 13:44:41.331 (Boom 300 Index,M1)     Bid: 3808.896,

comme sur ce code je veux comparer si  last_tick 0.bid   last_tick 1.bid

Merci d'avance 

3808.896 > 3808.904
Alexey Petrov  

Salut,

Le code que j'ai fourni ici ne fait-il pas ce dont vous avez besoin ? Il compare le dernier prix avec le prix précédent. Remplacez simplement tick.last par tick.bid

Prendre un achat sur le mouvement du dernier tick.(last_tick)
  • 2022.07.26
  • www.mql5.com
Bonjour chers ingénieurs J'ai un petit problème pour lequel j'aimerais votre aide : Voici mon problème : je veux acheter sur un petit mouvement sur...
Noxtube  

merci pour votre réaction,

pour la première préoccupation j'avais trouvé la solution en créant un indicateur mais la je veux plutôt ceci

comparer les 2 derniers ticks comme ceci

si last_tick 0.bid  -  last_tick 1.bid  100 on prend un trade, alors avec votre code ca donne des valeur decimaux pas correct pouvez vous me faire un autre code par rapport à ma préoccupation en adaptant vote code? merci beaucoup

Alexey Petrov  
Noxtube # :

merci pour votre réaction,

pour la première préoccupation j'avais trouvé la solution en créant un indicateur mais la je veux plutôt ceci

comparer les 2 derniers ticks comme ceci

si last_tick 0.bid  -    last_tick 1.bid   100 on prend un trade, alors avec votre code ca donne des valeur decimaux pas correct pouvez vous me faire un autre code par rapport à ma préoccupation en adaptant vote code? merci beaucoup

Ce sera alors quelque chose comme ça :

MqlTick tick= {0};
double price=0;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(SymbolInfoTick(Symbol(),tick))
     {
      if((tick.bid - price) / _Point > 100)
         Comment("Take a buy");
      else
         Comment("Wait");
      price=tick.bid;
     }
  }
//+------------------------------------------------------------------+
Noxtube  
Alexey Petrov #:

Ce sera alors quelque chose comme ça :

En tout cas merci bcp pour votre temps, je vous remercie infiniment 

mais ca ne marche pas vraiment je suis malheureux ca donne des faut prix 

Noxtube  

Ce que je peux demander si ca existe,

 1) est ce qu'on peut programmer en calibrant les graphiques ou le temps de clôture de la bougie en seconde ???

pas en M1 mais plutôt en S1 comme ca je peux comparer le prix actuel comme ca je peux utiliser la fonction 

bufferPrix[0].open - bufferPrix[1].open

Mais en Seconde, est ce possible.

 

 2) je veux emmètre un bip(Alerte) après avoir pris une position dans mon EA comment m'y prendre?

 3) Quelle variable puis-je utiliser pour signifier que mon rot est on ou off? dois-je comparer quoi dans ma condition if ?? 

Merci d'avance 

Noxtube  
Alexey Petrov #:

1. Essayez d'utiliser OnTimer au lieu d'OnTick et comparez les prix toutes les secondes.

2. Utiliser Alert avec l'événement OnTrade

3. Vous ne savez pas ce que vous voulez dire.

Du coup vous m'avez vraiment aider c'était une bonne idée d'aller dans l'évènement Ontime ca résolue vraiment une partie du problème,
maintenant il me reste un petit soucis vraiment aider moi svp,

j'ai trouvé ce que je cherchais : la différence entre les deux dernier prix, je veux copie cette différence à chaque seconde dans une tableaux enfin d'examiner chaque prix du seconde donné, mais mon tableaux n'enregistre que le même prix dans toutes les cellules du tableaux,

veuillez m'aider, voici mon code

void OnTimer()
  {
   MqlRates bufferPrix[2];
   MqlTick last_tick[2];
    double tableau_dif[10];
    int Size=ArraySize(tableau_dif);
    int nbreBougies = CopyRates(_Symbol,_Period,0,2,bufferPrix);
    double dif = bufferPrix[0].close - bufferPrix[1].close; 
        
     for(int i=1;i<Size;i++)  {
        tableau_dif[i] = dif;
     }
 //--- AFFICHAGE DES ELEMENTS DU TABLEAU 
   string 
   com=StringFormat(" au prix passé de : %s\r\n",DoubleToString(bufferPrix[1].close));
   com=com+StringFormat(" La difference est de     : %s\r\n",DoubleToString(dif));
   
   com=com+StringFormat(" Element du tableau 1          : %s\r\n",DoubleToString(tableau_dif[1]));
   com=com+StringFormat(" Element du tableau 2         : %s\r\n",DoubleToString(tableau_dif[2]));
   com=com+StringFormat(" Element du tableau 3         : %s\r\n",DoubleToString(tableau_dif[3]));
   
   Comment(com);
  }

  voici ce que ca affiche sur l'image en attaché


moi je veux que chaque cellule enregistre le prix du time T comme ceci

Elément du tableau 1  -0.22200000
Elément du tableau 2  -0.21200000
Elément du tableau 3  -0.20300000

Ca c'est le prix qui s'est écoulé en 3 Secondes qui devrai normalement être enregistrer dans mon tableau 


Merci infiniment pour votre assistance je suis sincèrement reconnaissent et j'en resterais.

Merci pour votre temps 

Dossiers :
Prix.PNG  3 kb