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

 
Tango_X:
Bonjour, que signifie le nombre d'activations lorsque vous achetez le programme sur le marché ? Puis-je utiliser ce programme sur différents ordinateurs et différents comptes en même temps ? Le fait est que nous voulons acheter un programme pour deux personnes et les utiliser séparément.

il est préférable de commander à des indépendants - le type de programme et il sera à vous avec un code source ouvert.

 
Fergert Фергерт:
Veuillez me dire comment vérifier si un ordre d'un certain type (dans ce cas ORDER_TYPE_BUY_LIMIT ) ou un numéro magique existe et s'il est fermé, l'EA continuera son travail.... Je vous serais très reconnaissant...

Exemple de comptage de quatre types d'ordres en attente dans le code Min Max for N Bars Martingale 2

//--- вызов функции
   int count_buy_limits=0,count_sell_limits=0,count_buy_stops=0,count_sell_stops=0;
   CalculateAllPendingOrders(count_buy_limits,count_sell_limits,count_buy_stops,count_sell_stops);
//--- сама функция
//+------------------------------------------------------------------+
//| Calculate all pending orders                                     |
//+------------------------------------------------------------------+
void CalculateAllPendingOrders(int &count_buy_limits,int &count_sell_limits,int &count_buy_stops,int &count_sell_stops)
  {
   count_buy_limits  = 0;
   count_sell_limits = 0;
   count_buy_stops   = 0;
   count_sell_stops  = 0;
   for(int i=OrdersTotal()-1; i>=0; i--) // returns the number of current orders
      if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==InpMagic)
           {
            if(m_order.OrderType()==ORDER_TYPE_BUY_LIMIT)
               count_buy_limits++;
            else
               if(m_order.OrderType()==ORDER_TYPE_SELL_LIMIT)
                  count_sell_limits++;
               else
                  if(m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                     count_buy_stops++;
                  else
                     if(m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                        count_sell_stops++;
           }
  }

Min Max for N Bars Martingale 2
Min Max for N Bars Martingale 2
  • www.mql5.com
Поиск Минимальных и Максимальных цен на заданном количестве баров. Выставление отложенных ордеров
 

Bon après-midi.

Je veux fermer une position après que le temps se soit écoulé, je fais cela, mais cela ne fonctionne pas.

if((TimeCurrent()-m_position.Time())>Time*3600)  {CloseOrders=true; ClosePositions(POSITION_TYPE_BUY); break;} //  если прошло много времени, закрываем !!!
               
 
Roman Kutemov:

Bon après-midi.

Je veux fermer une position après que le temps se soit écoulé. Je fais ceci, mais pour une raison quelconque, cela ne fonctionne pas.

Qui est"ClosePositions" ?

Et comment choisir le poste ?

 
Vladimir Karputov:

Qui est"ClosePositions" ?

Et comment choisir le poste ?

//| Close positions       по типу                                    |
//+------------------------------------------------------------------+
void ClosePositions(const ENUM_POSITION_TYPE pos_type)
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
            if(m_position.PositionType()==pos_type) // gets the position type
               m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
 for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
           {
            if(m_position.PositionType()==POSITION_TYPE_BUY)
              {
 
Roman Kutemov:

Qui est"Time"? Définissez un point d'arrêt avant d'émettre un ordre. Vérifier si vous avez atteint un point d'arrêt ?

(Et oui : n'écrivez pas plusieurs déclarations sur une même ligne)

 
Vladimir Karputov:

Qui est"Time"? Définissez un point d'arrêt avant d'émettre un ordre. Vérifier si vous avez atteint un point d'arrêt ?

(Et oui : n'écrivez pas plusieurs déclarations sur une même ligne)

Temps - dans les paramètres externes, le temps en heures. Par exemple, 7 heures après l'ouverture d'une position, si elle n'a pas clôturé au stop ou au take, je veux la clôturer.
 
Roman Kutemov:
Temps - dans les paramètres externes, le temps en heures. Par exemple, 7 heures après l'ouverture de la position, si elle n'a pas clôturé au stop ou au take, je veux la clôturer.

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie

FAQ des débutants MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2021.01.27 17:49

*** Placezun point d'arrêt avant d'émettre un ordre. Vérifiez-vous jamais si vous avez atteint un point d'arrêt ?

(Et oui : n'écrivez pas plusieurs opérateurs dans une même ligne)


 
Vladimir Karputov:

Si, tu ne l'as pas fait.

Corrigé. Merci.

 
Que donne Python que R ne peut donner ?