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

 
A100:
En algunas plataformas es posible vincular 1 (a veces 2) órdenes CCA. En MT4/5 implemento programáticamente una cadena de órdenes enlazadas (a veces bastante complejas) y encuentro esta opción más conveniente
¿Que la ejecución en un servidor, por ejemplo?
 
Silent:
¿Que la ejecución del servidor, por ejemplo?

Hay menos flexibilidad y no necesariamente más fiabilidad en la ejecución del servidor

No hay alternativa a la ejecución en el servidor sólo entre la hora de cotización y la hora de negociación

 
A100:

No hay alternativa a la ejecución en el servidor sólo entre la hora de cotización y la hora de negociación

...y cuando tu internet no funciona.

Ahora, por supuesto, no es difícil (no es caro) proporcionar un PC estable, pero aún así las soluciones del lado del cliente no pueden competir con la ejecución basada en el servidor.

Tengo entendido que los corredores no quieren asumir la responsabilidad de la ejecución y los MK los apoyan.

 
Yedelkin:

Así que la pregunta se reduce a cómo eliminar exactamente una orden pendiente que no es una orden SL o TP cuando ocurren ciertos eventos (en particular, cuando una orden TP se dispara en una posición abierta).

En la actualidad, una orden pendiente de este tipo sólo puede eliminarse obligatoriamente enviando la correspondiente solicitud de "Eliminar orden pendiente". Así que tenemos que controlar en el lado del terminal la ocurrencia de ciertos eventos y enviar una solicitud. Pero a diferencia de su variante, sólo hay dos campos que se especifican en la solicitud, uno de los cuales es la solicitud.orden.

En la situación que mencionas, las órdenes OCO ("One Cansels Other(s)") serían útiles: en el nivel TP, se colocaría una orden con el tamaño de la posición abierta, y en el nivel SL, una orden con el tamaño necesario para "invertir" la posición. Si una de estas órdenes OCO se activara, la segunda se eliminaría automáticamente en el lado del servidor. Sin embargo, en el transcurso de la existencia de este foro, los desarrolladores de la plataforma se han negado rotundamente a implementar cualquier tipo de orden adicional, incluyendo las órdenes OCO.

Gracias por las recomendaciones. En mi caso decidí que lo más fácil era utilizar el tiempo de caducidad de la orden, es decir:

.........
request.type_time =ORDER_TIME_DAY; 
........
¿No está claro cómo establecer un límite de tiempo de 2 días?
 
Crucian:
¿No está claro cómo establecer un plazo de caducidad de 2 días?

fecha decaducidad;

Añade 2 días o 60*60*24*2 segundos a la fecha actual

 
komposter: ...y cuando tu internet no funciona... Las soluciones del lado del cliente no pueden competir con la ejecución del lado del servidor.
No le quites la ilusión a tu colega :)
 
Crucian: En mi caso decidí que lo más fácil era utilizar la fecha de caducidad de la orden... No está claro cómo establecer la fecha de caducidad a 2 días?
request.type_time =ORDER_TIME_SPECIFIED;     // есть ещё ORDER_TIME_SPECIFIED_DAY - там, наверное, всё по аналогии
request.expiration=TimeTradeServer()+172800; // 172800 - количество секунд за период в два дня, TimeTradeServer() - момент оформления запроса
 

¿Cómo puedo mostrar el texto por encima de las operaciones en el gráfico de prueba después de la prueba? O en general, ¿cómo hacer que el gráfico del probador muestre algunos objetos adicionales después de la prueba?

He intentado insertarlos en la función OnDeinit(), pero no aparece nada.

 
ANG3110:

¿Cómo puedo mostrar el texto por encima de las operaciones en el gráfico de prueba después de la prueba? O en general, ¿cómo hacer que el gráfico del probador muestre algunos objetos adicionales después de la prueba?

He intentado insertarlos en la función OnDeinit(), pero no aparece nada.

Una vez finalizada la prueba, vaya a la pestaña Resultados, haga clic con el botón derecho del ratón y seleccione Abrir gráfico en el menú contextual. Se abrirá un gráfico con todas las operaciones y podrá crear cualquier objeto en él y aplicar cualquier indicador para el análisis.
 

tol64:
После того, как тест завершён перейдите на вкладку Результаты, нажмите правую кнопку и в контекстном меню выберите Открыть график. Откроется график со всеми сделками и на нём можно создавать любые объекты и применять для анализа любые индикаторы.

Esto es un poco molesto, en mi MT4 después de la prueba tanto el beneficio de una operación como el saldo y si es necesario otras cosas se firmaron en el gráfico de salida a la vez. Todo esto se hizo simplemente insertando un include adicional en el deinit() del EA. ¿Es posible emitir algo como texto a través de OnDeinit en MT5? ¿O también está desactivado aquí y es sólo otro truco para la comodidad de los desarrolladores en detrimento de un usuario?
Razón de la queja: