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(constENUM_POSITION_TYPE pos_type)
{
for(int i=PositionsTotal()-1;i>=0;i--) // devuelve el número de posiciones actualesif(m_position.SelectByIndex(i)) // selecciona la posición por el índice para acceder posteriormente a sus propiedadesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
if(m_position.PositionType()==pos_type) // obtiene el tipo de posiciónif(Hour()>TimeClose)
m_trade.PositionClose(m_position.Ticket()); // cerrar una posición por el símbolo especificado
}
Добавил условие if(Hour()>TimeClose), в переменных прописал inputdouble 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
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"inputbool InpTimeControl = true; // Utilizar el control del tiempoinputuchar InpStartHour = 10; // Hora de inicioinputuchar InpStartMinute = 01; // Inicio Minutoinputuchar InpEndHour = 15; // Hora finalinputuchar InpEndMinute = 02; // Fin de minuto
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
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:
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.
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':
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.
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
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?
¿Has leído el artículo? ¿Puedes modificar el código?
He leído el artículo, pero es un bosque oscuro para mí.
He visto el artículo, pero es un bosque oscuro para mí.
Ok, lo pondré en mi agenda para mañana.
Nueva versión de Yesterday Today New
Nueva versión de Yesterday Today New
Vladimir, gracias por tu trabajo. Es bueno que haya expertos que ayuden a los usuarios.