Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1280

 
Tango_X:
Hola, ¿qué significa el número de activaciones cuando se compra el programa en el mercado? ¿Puedo utilizar este programa en diferentes ordenadores y diferentes cuentas al mismo tiempo? La cuestión es que queremos comprar un programa para dos personas y utilizar cada uno de ellos por separado

es mejor pedir a los autónomos - el tipo de programa y será suyo con código abierto.

 
Fergert Фергерт:
Por favor, díganme cómo comprobar si hay una orden de un determinado tipo (en este caso ORDER_TYPE_BUY_LIMIT ) o número mágico y si se cierra, el EA continuará su trabajo... Estaría muy agradecido...

Ejemplo de recuento de cuatro tipos de órdenes pendientes en el código 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
Поиск Минимальных и Максимальных цен на заданном количестве баров. Выставление отложенных ордеров
 

Buenas tardes.

Quiero cerrar una posición después de que haya transcurrido el tiempo, hago esto, pero no funciona

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

Buenas tardes.

Quiero cerrar una posición después de que haya transcurrido el tiempo, hago esto, por alguna razón no funciona

¿Quién es'ClosePositions'?

¿Y cómo se selecciona el puesto?

 
Vladimir Karputov:

¿Quién es'ClosePositions'?

¿Y cómo se selecciona el puesto?

//| 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én esel "Tiempo"? Establezca un punto de interrupción antes de emitir una orden. ¿Comprobar si ha llegado a un punto de ruptura?

(Y sí: no escriba varias declaraciones en una sola línea)

 
Vladimir Karputov:

¿Quién esel "Tiempo"? Establezca un punto de interrupción antes de emitir una orden. ¿Comprobar si ha llegado a un punto de ruptura?

(Y sí: no escriba varias declaraciones en una sola línea)

Tiempo - en los ajustes externos el tiempo en horas. Por ejemplo, 7 horas después de abrir una posición, si no se ha cerrado en el stop o en la toma, quiero cerrarla.
 
Roman Kutemov:
Tiempo - en los ajustes externos el tiempo en horas. Por ejemplo, 7 horas después de abrir la posición, si no se ha cerrado en el stop o en la toma, quiero cerrarla.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia

FAQ de principiantes MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2021.01.27 17:49

*** Coloqueun punto de interrupción antes de emitir una orden. ¿Alguna vez compruebas si has llegado a un punto de ruptura?

(Y sí: no escriba varios operadores en una línea)


 
Vladimir Karputov:

Sí, no lo hiciste.

Corregido. Gracias.

 
¿Qué da pythoon que no pueda dar R?
Razón de la queja: