Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1600

 
Nerd Trader:
Je vois maintenant que vous avez ajouté un journal. Ici aussi, vous avez des messages en double :)
Si vous regardez le temps, vous verrez que rien n'est dupliqué, il n'imprime sur une nouvelle barre que lorsqu'il y a un signal.
 
законопослушный гражданин:

pouvez-vous expliquer la différence entre les fonctions ?

for (int j = OrdersHistoryTotal()-1 ; j >= 0 ; j--)

{

if(OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))

и

int i=OrdersHistoryTotal() ;

for(int pos=0 ; pos<i ; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY))

Non

 
MakarFX:
Si vous regardez le temps, vous verrez que rien n'est dupliqué, il n'imprime sur une nouvelle barre que lorsqu'il y a un signal.
Parce que vous avez Print() seulement dans OnTick(). Mettez-le dans chaque condition dans isCrossing()
 
MakarFX:

Non

Eh bien, pas exactement. Un cycle à partir du début de la liste, l'autre à partir de la fin.

 
MakarFX:

Non

les deux fonctions "récupèrent" les ordres fermés dans l'historique ?

 
Artyom Trishkin:

Eh bien, pas exactement. Un cycle à partir du début de la liste, l'autre à partir de la fin.

Vous avez raison, je n'ai pas fait attention à l'ordre de la boucle, j'ai seulement regardé la définition de OrdersHistoryTotal()
 
законопослушный гражданин:

les deux fonctions "récupèrent" les ordres fermés dans l'historique ?

Oui, mais l'un du début de l'histoire et l'autre de la fin.
 
MakarFX:
Oui, mais l'un est du début de l'histoire et l'autre de la fin.

Merci. Ai-je bien compris, cette fonction "passe" par la fin ?

int i=OrdersHistoryTotal() ;

for(int pos=0 ; pos<i ; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

 
законопослушный гражданин:

Merci. Ai-je bien compris, cette fonction "passe" par la fin ?

int i=OrdersHistoryTotal() ;

for(int pos=0 ; pos<i ; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

oui
 
законопослушный гражданин:

Merci. Ai-je bien compris, cette fonction "passe" par la fin ?

int i=OrdersHistoryTotal() ;

for(int pos=0 ; pos<i ; pos++)

{

if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

Celle-ci recherche à partir de l'index zéro, c'est-à-dire à partir du début.