Asesores Expertos: Yesterday Today - página 2

 
pokrovsky-my #:
No me refería a una orden pendiente, sino a la posibilidad de cerrar una orden de mercado a tiempo, aunque sea perdedora.

Código:

//+------------------------------------------------------------------+
//| Cerrar posiciones|
//+------------------------------------------------------------------+
void ClosePosition(const ENUM_POSITION_TYPE pos_type)
  {
     for(int i=PositionsTotal()-1;i>=0;i--) // devuelve el número de posiciones actuales
         if(m_position.SelectByIndex(i))     // selecciona la posición por el índice para acceder posteriormente a sus propiedades
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
          if(m_position.PositionType()==pos_type) // obtiene el tipo de posición
            if(Hour()>TimeClose)
               m_trade.PositionClose(m_position.Ticket()); // cerrar una posición por el símbolo especificado
  }


Добавил условие if(Hour()>TimeClose), в переменных прописал input double   TimeClose         = 21; вставил int Hour()
{
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.hour);
}
int Minute()
{
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.min);
}



El Asesor Experto compila sin errores, pero la orden no se cierra en el momento especificado

 

Por si acaso: ( Principios generales - Operaciones de negociación )

Antes de empezar a estudiar las funciones de negociación de la plataforma, es necesario crear una clara comprensión de los términos básicos: orden, transacción y posición.

  • Una orden es una instrucción a una empresa de corretaje para comprar o vender un instrumento financiero. Existen dostipos principales de órdenes: de mercado y pendientes. Además de ellas, existen órdenes especialesTake Profit y Stop Loss.
  • Transacción es el hecho de comprar o vender un instrumento financiero. La compra (Buy) tiene lugar al precio de oferta (Ask), y la venta (Sell) - al precio de demanda (Bid). Una operación puede realizarse como resultado de la ejecución de una orden de mercado o de la activación de una orden pendiente. Hay que tener en cuenta que en algunos casos el resultado de la ejecución de una orden puede ser varias operaciones a la vez.
  • Posición es un compromiso de mercado, el número de contratos comprados o vendidos sobre un instrumento financiero. Una posición larga (Long) es un instrumento financiero comprado con la expectativa de que el precio suba, una posición corta (Short) es un compromiso de entrega con la expectativa de que el precio baje en el futuro.

En otras palabras, una orden es una orden, una orden para abrir una Operación (una Operación genera una POSICIÓN) o para colocar una Orden Pendiente.


Para trabajar con el tiempo, recomiendo leer el artículo Casi un constructor para crear un Asesor Experto y buscar en el archivo'Trading engine 4.mq5' el grupo de parámetros de entrada'Control de tiempo':

input group             "Time control"
input bool                 InpTimeControl          = true;           // Utilizar el control del tiempo
input uchar                InpStartHour            = 10;             // Hora de inicio
input uchar                InpStartMinute          = 01;             // Inicio Minuto
input uchar                InpEndHour              = 15;             // Hora final
input uchar                InpEndMinute            = 02;             // Fin de minuto
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и...
 
Vladimir Karputov #:

Por si acaso: ( Principios generales - Operaciones comerciales )

Antes de empezar a estudiar las funciones de negociación de la plataforma, es necesario crear una clara comprensión de los términos básicos: orden, transacción y posición.

  • Una orden es una instrucción a una empresa de corretaje para comprar o vender un instrumento financiero. Existen dostipos principales de órdenes: de mercado y pendientes. Además de ellas, existen órdenes especialesTake Profit y Stop Loss.
  • Transacción es el hecho de comprar o vender un instrumento financiero. La compra (Buy) tiene lugar al precio de oferta (Ask), y la venta (Sell) - al precio de oferta (Bid). Una operación puede realizarse como resultado de la ejecución de una orden de mercado o de la activación de una orden pendiente. Hay que tener en cuenta que, en algunos casos, el resultado de la ejecución de una orden puede ser la realización de varias operaciones a la vez.
  • Posición es un compromiso de mercado, el número de contratos comprados o vendidos sobre un instrumento financiero. Posición larga (Long) es un instrumento financiero comprado con la expectativa de que el precio aumente, posición corta (Short) es un compromiso de entrega con la expectativa de que el precio disminuya en el futuro.

Es decir, una orden es una orden, una orden de abrir una Operación (una Operación genera una POSICIÓN) o de colocar una Orden Pendiente.


Para trabajar con el tiempo, recomiendo leer el artículo Casi un constructor para crear un Asesor Experto y buscar en el archivo'Trading engine 4.mq5' el grupo de parámetros de entrada'Control de tiempo':

Es necesario que una posición abierta sea forzada a cerrarse a una hora determinada

 
pokrovsky-my #:

Es necesario que una posición abierta se cierre forzosamente a una hora determinada

¿Has leído el artículo? ¿Puede modificar el código?

 
Vladimir Karputov #:

¿Has leído el artículo? ¿Puedes modificar el código?

He leído el artículo, pero es un bosque oscuro para mí.

 
pokrovsky-my #:

He visto el artículo, pero es un bosque oscuro para mí.

Ok, lo pondré en mi agenda para mañana.

 
pokrovsky-my #:


Nueva versión de Yesterday Today New

Yesterday Today New
Yesterday Today New
  • www.mql5.com
Торговля основана на анализе OHLC вчерашнего дня и текущего.
 
Vladimir Karputov #:

Nueva versión de Yesterday Today New

Vladimir, gracias por tu trabajo. Es bueno que haya expertos que ayuden a los usuarios.