Detectar la activación del stop en el backtest OnTradeTransaction - página 2

 
chinaski:

Hola angevoyageur,

encontrar adjunto un simple EA que demuestra el problema. El EA abre largo junto con la parada y el objetivo a continuación, a corto, a continuación, a largo y así sucesivamente.

También contiene un método de volcado. Sólo tiene que aplicar EUR.USD 1 minuto 1 semana y ver los volcados de las transacciones en el registro de backtest.

Gracias por la ayuda.

Aquí se dispara su stoploss :

2013.05.03 16:52106EURUSDcompraren0.011.312401060.000.000.009 978.84
2013.05.03 18:35107EURUSDvenderout0.011.310401070.000.00-2.009 976.84sl 1.31040

2013.05.07 18:45:27    Core 1    2013.05.03 18:35:40   trans=symbol=EURUSD price=1.3104000 volume=0.01 sl=0.0000000 tp=0.0000000 order=107 deal=107 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit

 
angevoyageur:

Aquí se activa su stoploss :

2013.05.03 16:52106EURUSDcompraren0.011.312401060.000.000.009 978.84
2013.05.03 18:35107EURUSDvenderout0.011.310401070.000.00-2.009 976.84sl 1.31040

2013.05.07 18:45:27    Core 1    2013.05.03 18:35:40   trans=symbol=EURUSD price=1.3104000 volume=0.01 sl=0.0000000 tp=0.0000000 order=107 deal=107 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit

Hola,

pero esto esentry-type=IN , no out....

 
chinaski:

Hola,

pero esto esentry-type=IN , no out....

Tal vez, pero es su sled disparó sin embargo. Nunca creasreligiosamente lo que te diceun programa;-)
 
angevoyageur:
Tal vez, pero es su sl desencadenado sin embargo. Nunca creasreligiosamente lo que te diceun programa;-)

Tienes razón, por otra parte, ¿cómo puedo saber que puedo confiar en sl = 0,0 y tp = 0,0 significa que esto es la orden de parada o de destino y no: sl y tp simplemente se perdió (en la estructura de la transacción)...?

 
chinaski:

Tienes razón, por otro lado, ¿cómo puedo saber que puedo confiar en que sl=0.0 y tp=0.0 significa que se trata de una orden de stop o de objetivo y no: sl y tp simplemente fallan (en la estructura de la transacción)...?

Una estructura no puede tener un campo perdido. Esta es una transacción sobre un acuerdo(DEAL_TYPE_SELL), un acuerdo no puede tener un SL/TP, eso no tiene sentido. Un SL (o TP) es una orden (una especie de orden pendiente especial), cuando se activa, la orden resulta en un acuerdo. Puedes comprobar todo esto dentro de OnTradeTransaction.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties - Documentation on MQL5
 
angevoyageur:

Una estructura no puede tener un campo faltante. Se trata de una operación(DEAL_TYPE_SELL), una operación no puede tener un SL/TP, eso no tiene sentido. Un SL (o TP) es una orden (una especie de orden pendiente especial), cuando se activa, la orden resulta en una operación. Puedes comprobar todo esto dentro de OnTradeTransaction.

No me refiero a los miembros de la estructura, por supuesto; me refiero a los valores.
 
chinaski:
No me refiero a los miembros de la estructura, por supuesto; me refiero a los valores.
¿Y? Es un poco confuso, ¿todavía puedo ayudar?
 
angevoyageur:
¿entonces? Es un poco confuso, ¿todavía puedo ayudar?

Sí, fue una ayuda. ¿A qué te refieres con confundir? Me preguntaba sobre la obtención de siempre ENTRY_IN. Dijiste que nunca creyera en lo que me dice el programa. Yo digo que tienes razón, por lo que sl=0.0 o tp=0.0 (valores perdidos) también podría ser un error por el servidor - se olvidó de wroite valores.

Lo que es importante para mí: un método de ahorro para determinar lo que la transacción se detiene a cabo. MT es genial pero en muchos aspectos, confuso, no hace lo que normalmente se espera, como en este caso.

¿Sabes lo que quiero decir?

 
chinaski:

Sí, fue una ayuda. ¿A qué te refieres con confundir? Me preguntaba sobre la obtención de siempre ENTRY_IN. Dijiste que nunca creyera en lo que me dice el programa. Yo digo que tienes razón, por lo que sl=0.0 o tp=0.0 (valores perdidos) también podría ser un error del servidor - se olvidó de wroite valores.

Lo que es importante para mí: un método de ahorro para determinar lo que la transacción se detiene a cabo. MT es genial pero en muchos aspectos, confuso, no hace lo que normalmente se espera, como en este caso.

¿Sabes lo que quiero decir?

Soy yo quien está confundido;-) Leo y respondo a muchos temas. Entiendo lo que has dicho, debe ser capaz de cambiar los hábitos con MT4.
 
chinaski:

Sí, fue una ayuda. ¿A qué te refieres con confundir? Me preguntaba sobre la obtención de siempre ENTRY_IN. Dijiste que nunca creyera en lo que me dice el programa. Yo digo que tienes razón, por lo que sl=0.0 o tp=0.0 (valores perdidos) también podría ser un error por el servidor - se olvidó de wroite valores.

Lo que es importante para mí: un método de ahorro para determinar lo que la transacción se detiene a cabo. MT es genial pero en muchos aspectos, confuso, no hace lo que normalmente se espera, como en este caso.

¿Sabes lo que quiero decir?

Lo he comprobado. Cuando se dispara un SL/TP tiene estas transacciones :

  1. TRADE_TRANSACTION_POSITION con SL y TP configurados (pero sin acuerdo todavía), entonces
  2. TRADE_TRANSACTION_DEAL_ADD

TRADE_TRANSACTION_POSITION

Modificación de una posición no relacionada con la ejecución de una operación. Este tipo de transacción muestra que se ha modificado una posición en el lado del servidor de operaciones. Se puede modificar el volumen de la posición, el precio de apertura y los niveles de Stop Loss y Take Profit. Los datos sobre los cambios se presentan en la estructura MqlTradeTransaction a través del manejador OnTradeTransaction. El cambio de posición (adición, cambio o cierre), como resultado de la ejecución de una operación, no conduce a la aparición de la transacción TRADE_TRANSACTION_POSITION.