Questions des débutants MQL5 MT5 MetaTrader 5 - page 382

 
Veuillez me donner la formule pour calculer la taille du lot d'un nouvel ordre afin qu'avec un tp de 10p il puisse retirer un ordre perdant à 0 et gagner les 10 pips désirés.
 

Quel opérateur doit être utilisé pour désignerle type de commande?

Combinez 2 algorithmes en un seul. (Combinez-les pour qu'il n'y ait pas de conflit de "OrdersTotal", il s'avère qu'il ouvrira 1 ordre. et j'en ai besoin d'un dans chaque direction)

Merci d'avance))

int start ()

{

si (OrdersTotal() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red) ;

}

int start ()

{

si (OrdersTotal() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red) ;

}

 
le0nid2014:

Quel opérateur doit être utilisé pour désignerle type de commande?

Combinez 2 algorithmes en un seul. (Combinez-les pour qu'il n'y ait pas de conflit de "OrdersTotal", il s'avère qu'il ouvrira 1 ordre. et j'en ai besoin d'un dans chaque direction)

Merci d'avance))

int start ()

{

si (OrdersTotal() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red) ;

}

int start ()

{

si (OrdersTotal() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red) ;

}

Ouvrez-les un par un.
 
Artyom Trishkin:
A ouvrir un par un.

Cela ne fonctionnera pas de cette façon - lorsqu'il n'y a pas de commandes, il ouvrira ce dont j'ai besoin.

Je veux qu'il ouvre l'achat s'il n'y a pas d'ordre d'achat et vice versa (dans le temps où il n'y a pas de direction 1, 2 s'ouvrira et l'ordre d'achat ne commencera pas).

 
le0nid2014:

Si j'ai 0 commande, il ouvrira ce dont j'ai besoin.

J'ai besoin qu'il ouvre l'achat s'il n'y a pas d'ordre d'achat, et vice versa (tant qu'il n'y a pas de direction 1, il y en aura 2 et l'ordre de départ ne sera pas émis).

Je dois compter combien et les ouvrir si je n'en ai pas.

 
new-rena:

compter combien il y en a et, s'il manque la bonne, ouvrir

Je ne sais pas comment expliquer au conseiller expert quels ordres acheter et quels ordres vendre.
 
//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ РАСЧЕТА КОЛИЧЕСТВА ОРДЕРОВ
//+------------------------------------------------------------------+
   int Calc_Orders(string Symbols,string TYPE)
      {
         int Res=0; int calc;       
         for (calc=OrdersTotal()-1; calc>=0; calc--)
            {
               if (OrderSelect(calc,SELECT_BY_POS,MODE_TRADES))
                  {
                     if (TYPE=="BUY" && OrderType()==OP_BUY && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }                        
                     if (TYPE=="SELL" && OrderType()==OP_SELL && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }
                  }
            }
         return(Res);
      }
Ça ne rentre pas dans ce post. J'ai essayé de le modifier deux fois...
 
le0nid2014:

Si j'ai 0 commande, il ouvrira ce dont j'ai besoin.

Je veux qu'il ouvre l'achat s'il n'y a pas d'ordre d'achat et vice versa (dans le temps où il n'y a pas de direction 1, 2 s'ouvrira et l'ordre d'achat ne commencera pas).

Je ne comprends pas ce que vous voulez. Y a-t-il un moyen de le rendre plus clair ?
 
Artyom Trishkin:
Je ne comprends pas ce que vous voulez. Y a-t-il un moyen de l'expliquer plus clairement ?

S'il n'y a pas d'ordre de vente ou d'achat sur le marché, il ouvre un tel ordre, quel que soit le nombre d'ordres d'achat présents.

Et vice versa.

 
le0nid2014:

S'il n'y a pas d'ordre de vente ou d'achat sur le marché, il ouvre un tel ordre, quel que soit le nombre d'ordres d'achat présents.

Et vice versa.

Nous définissons deux variables locales dans la fonction OnTick de type bool : buyExist = false et sellExist = false.

Quand un nouveau tick arrive, vous vérifiez s'il y a des ordres qui appartiennent à l'EA donné. S'il y a un ordre de vente, sellExist = true et la même chose avec l'ordre d'achat. Puis vous vérifiez si buyExist = true - n'ouvrez pas d'ordre d'achat. Il en va de même pour la vente. C'est tout.

Raison: