conseiller expert - questions diverses - page 41

 

Des choses stupides aujourd'hui, j'ai essayé plusieurs fois l'ancienne version de l'EA qui ferme tous les ordres ouverts.
Maintenant je suis confus.

---

Mais de toute façon j'utilise MarketInfo() au lieu de simples Bid, et Ask.

 

En général, je les essaie tous pour découvrir ce qui fonctionne le mieux.

J'ai un script qui ferme tous les ordres quand c'est nécessaire.

         for(int order=0; order<=OrdersTotal()-1; order++)
           {
            bool selected=OrderSelect(order,SELECT_BY_POS);
              {
               if(selected==1)
                 {
                  bool close=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,clrNONE);
                 }
              }
           }
Mais comme vous pouvez le voir, rien n'est vérifié, il faut donc une mise en œuvre manuelle où vous pouvez vérifier visuellement que les ordres sont fermés ou non.
 
whroeder1:
  1. En présence d'ordres multiples (un EA plusieurs graphiques, plusieurs EA, trading manuel)
Max Enrik: RefreshRates() Je ne comprends pas où je pourrais le mettre.
Vous posez la question, vous obtenez la réponse, et vous l'ignorez et demandez à nouveau. Pas de down, pas de RefreshRates.

 
whroeder1:
Vous posez la question, vous obtenez la réponse, vous l'ignorez et vous demandez à nouveau. Pas de down, pas de RefreshRates.

Pourquoi je demande à nouveau. Désolé, je n'ai pas compris la phrase ci-dessous. ( Je ne peux pas la traduire. )

  • Vous devezrafraîchir les taux après le sommeil et entre les appels multiples du serveur si vous voulez utiliser lesvariables prédéfinies(Bid/Ask) ouOrderClosePrice() à la place.
 

@Marco

Après le remplacement, le JPY n'affiche pas le bon prix et n'ouvre pas l'ordre.

 
Avez-vous le code snippet.
 
Marco vd Heijden:
Avez-vous l'extrait de code.

Voilà.

void buyorder()
 {
  Ticket = OrderSend( _Symbol, OP_BUY, lotsize, MarketInfo(OrderSymbol(),MODE_BID), slippage, sl, tp, "trade panel", magic, 0, clrRed );
  return;
 }
 
Ticket = OrderSend( _Symbol, OP_BUY, lotsize, MarketInfo(OrderSymbol(),MODE_BID), slippage, 
  1. Vous ne pouvez pas utiliser les fonctions commerciales si vous n'avez pas sélectionné un ordre.
  2. Vérifiez vos codes de retourQue sont les valeurs de retour des fonctions ? Comment les utiliser ? -MQL4 forum and Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles
 
whroeder1:
  1. Vous ne pouvez pas utiliser les fonctions commerciales si vous n'avez pas sélectionné un ordre.
  2. Vérifiez vos codes de retourQue sont les valeurs de retour des fonctions ? Comment les utiliser ? -MQL4 forum and Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles

#1 Pourrais-je utiliser Bid au lieu de MarketInfo ?
#2 Pourrais-je l'écrire comme ci-dessous ?

void buyorder()
 {
  Ticket = OrderSend( _Symbol, OP_BUY, lotsize, Bid, slippage, sl, tp, "trade panel", magic, 0, clrRed );
   if( Ticket < 0 )
   {
      Print("OrderSend failed with error: ", GetLastError() );
      return;
   }
  return;
 }
 

Uniquement pour le symbole du graphique.

Ask, Bid, _Period,_Symbol,Symbol(),Period()

Tous ces éléments sont liés au symbole du graphique.

Utilisez MarketInfo lorsque vous travaillez avec des symboles autres que le symbole graphique.