[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 464

 
Mepkypuu писал(а) >>
Pouvez-vous me dire pourquoi cette fonction ne fonctionne pas ? Il doit renvoyer le nombre d'ordres en attente depuis le dernier ordre réussi.

En supposant qu'il n'y ait pas plus d'un poste ouvert à la fois, on peut procéder comme suit

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_TRADES);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }
 
Vinin >>:

Если предположить что одновременно открыто не более одной позиции, то можно сделать так


Malheureusement, cela ne fonctionne pas : il ne compte que les ordres ouverts. Je ne sais pas moi-même quel est le problème, mais ce n'est probablement pas dans le code.
 
Mepkypuu писал(а) >>

Malheureusement, cela ne fonctionne pas : il ne compte que les ordres ouverts. Je ne suis pas sûr de savoir quel est le problème moi-même, mais ce n'est probablement pas dans le code.

Désolé

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_HISTORY);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }
 
Lorsque l'historique des transactions a disparu, on m'a proposé de paramétrer *show all history* mais ce paramètre n'existe pas, le terminal est le 4ème metatrader, utilisé par plusieurs DT.
 
kraizislot писал(а) >>
Lorsque l'historique des transactions disparaît, ils m'ont suggéré de paramétrer *show all history* mais ce paramètre n'existe pas, le terminal est le 4ème metatrader, utilisé par plusieurs DTs.

Dans la fenêtre de l'historique du compte, vous faites un clic droit et vous sélectionnez tout l'historique.

 
Bonjour, j'ai la question suivante. La fonction start() de l'EA est exécutée après chaque tick. Que se passera-t-il si j'ai envoyé une requête pour OrderSend(), mais que la réponse est arrivée deux minutes plus tard, et que certains ticks sont arrivés entre-temps ? Je suppose que l'exécution ne recommencera pas, par exemple dans un autre thread, etc., avant la fin de la fonction start() ? Je veux dire qu'il n'y aura pas une situation où j'enverrai dix autres demandes pendant ces deux minutes ? Ou bien il ne sera pas possible d'exécuter OrderSend() plusieurs fois, parce que le fil de négociation sera occupé ou autre ? Merci.
 
Maxim_M писал(а) >>
Bonjour, j'ai la question suivante. La fonction start() dans Expert Advisor est exécutée après chaque tick. Que se passe-t-il si j'ai envoyé une requête OrderSend(), mais que la réponse arrive deux minutes plus tard, et que pendant ce temps il y a plusieurs ticks ? Je suppose que l'exécution ne recommencera pas, par exemple dans un autre thread, etc., avant la fin de la fonction start() ? Je veux dire qu'il n'y aura pas une situation où j'enverrai dix autres demandes pendant ces deux minutes ? Ou bien il ne sera pas possible d'exécuter OrderSend() plusieurs fois, parce que le fil de négociation sera occupé ou autre ? Merci.

tant que la fonction de démarrage n'est pas terminée, le conseiller expert n'attendra pas les ticks, donc les nouveaux ticks manqués avant la fin de la requête en cours ne seront pas traités.

 
Vinin >>:

Сорри

  int GetLosses ()
   {  
      int Out       = 0;
      int Counter;
      for ( Counter=OrdersHistoryTotal()-1; Counter >=0 ; Counter--)
      {
         OrderSelect( Counter, SELECT_BY_POS, MODE_HISTORY);
         if (OrderProfit() > 0)  break;
         Out++;
      }  
      return ( Out);
   }



Aah ! Bien ! Merci beaucoup ! Cela fonctionne maintenant.

 
Dans l'indicateur Fractals, les fractales sont affichées à une certaine distance des extrema, comment faire dans un indicateur personnalisé?
 
sanyooooook писал(а) >>
Dans l'indicateur Fractals, les fractales sont dessinées à une certaine distance des extrema, comment puis-je faire cela dans un indicateur personnalisé ?

Au 3ème ou 4ème chandelier, vous mettez une fractale dans le tampon de l'indicateur, si les conditions sont remplies.