Discusión sobre el artículo "Procesando los eventos de transacciones en el Expert Advisor por medio de la función OnTrade()" - página 2

 
Automated-Trading:

El OnChartEvent se utiliza en el artículo Creación de paneles de control activos en MQL5 for Trading.

Quiero decir : OnTrade( )

debería ser OnTrade( id, para1,para2.....)

 

¿Podría alguien por favor mejorar el código dado en el artículo para procesar el evento de cierre de una posición por stop loss o take profit?

¿Ha resultado innecesario durante los últimos 2,5 años desde la publicación del artículo?

 
  • Posiciones
    1. Abrir
    2. Añadir
    3. Modificar (cambiar "Stop Loss" y "Take Profit")
    4. Invertir
    5. Cerrar toda la posición
    6. Cerrar parte de la posición
    1. Colocar
    orden pendiente
    1. Modificar

Se recomienda traducir https://www.mql5.com/en/articles/211 Órdenes, Posiciones y Operaciones en MetaTrader 5.

¡En primer lugar, hay que averiguar cuál de los 6+2 de arriba corresponde a Órdenes, Posiciones y Operaciones!

Orders, Positions and Deals in MetaTrader 5
Orders, Positions and Deals in MetaTrader 5
  • 2011.02.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Creating a robust trading robot cannot be done without an understanding of the mechanisms of the MetaTrader 5 trading system. The client terminal receives the information about the positions, orders, and deals from the trading server. To handle this data properly using the MQL5, it's necessary to have a good understanding of the interaction between the MQL5-program and the client terminal.
 
para MQL4, ¿qué se te ocurre que sea similar a OnTrade?
 
Serhiy Dotsenko:
para MQL4, ¿qué se te ocurre que sea similar a OnTrade?

Compruebe en cada tick OrdersTotal() y OrdersHistoryTotal() - si la cifra ha cambiado - llame a OnTrade().

 
gracias, yo también llegué a algo similar a mí mismo ) Pensé que hay algo exactamente impulsado por eventos ) ya que será posible reaccionar a ontrade manual sólo en el 2 º tick )
 

Hola ,


Gracias por escribir este articulo... He jugado un poco con su código. Pero al principio tengo el problema básico, que estoy trabajando con posiciones. Es decir:

Mi EA es el establecimiento de una orden de compra en el backtest y la función Ontrade se llama varias veces como se describe. Pero su código sólo comprueba OrdersTotal. Lo extraño es: el resultado de esta función es siempre 0. Después de colocar mi orden sólo tengo una posición de compra, que no es manejado de su código, ¿no?

¿Qué es lo que no funciona?

 
Serhiy Dotsenko:
para MQL4, ¿qué se te ocurre que sea similar a OnTrade?
Generar OnChartEvent() antes de hacer una operación de trading, y en él intentar obtener el resultado de la operación de trading.... Y se te ocurre un tipo, según el cual OnChartEvent() debe ser llamado el número necesario de veces...
 
Denis Kirichenko:
Generar OnChartEvent() antes de realizar una operación de trading, y en él intentar obtener el resultado de la operación de trading.... Y se puede pensar en un tipo, según el cual OnChartEvent() debe ser llamado el número necesario de veces...

Si no hay elementos gráficos, ¿por qué necesitamos tal variante? En mi opinión, es innecesario...

 
Gracias por el artículo, por supuesto. Me ahorró algo de tiempo. Porque yo no tenía que buscar en alguna parte acerca de estos eventos. Hay cero información en la ayuda, y escribir al soporte constantemente también es tiempo. Por eso el artículo es relevante. Pero el código es estrecho, para ser honesto. Tuve que transferirlo a mi mismo y llevarlo a una forma normal. Y luego tuve que pensarlo.