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

 
Alexey Viktorov #:

Es mejor utilizar el manejador de eventos OnTradeTransaction()

Gracias. Entonces tendré que rehacer un par de funciones.

Tal vez en algún lugar has visto una función para calcular el deslizamiento en mql5?

 
Nauris Zukas #:

Gracias. Tendré que rehacer un par de funciones entonces.

¿Has visto en algún sitio una función para calcular el deslizamiento en mql5?

¿Por qué buscarla? En OnTradeTransaction capturas el evento de colocación de la orden, lees el precio de la orden, luego capturas la operación, lees el precio de la operación y obtienes la diferencia de estos precios.

También puede crear una variable a nivel global, escribir el precio en ella en el momento de enviar la orden, y en OnTradeTransaction obtener el precio de la operación ...

 

Alexey Viktorov #:

También puede crear una variable a nivel global, escribir el precio en ella cuando se envía la orden, y obtener el precio de la transacción en OnTradeTransaction.....

Esta opción está definitivamente descartada. Si envío muchas órdenes, ¿cómo lo gestionará OnTradeTransaction?

 
Nauris Zukas #:

Esta opción está definitivamente descartada. Qué precio tengo sin ticket si envío muchas órdenes, ¿cómo lo gestionará OnTradeTransaction?

Por ID de posición se solucionará sin problemas.

Obtienes una operación, obtienes el ID de posición de ella, sacas órdenes y operaciones del historial por este ID y lees los precios de la orden y de la operación EN.

Lea la documentación. Usted puede encontrar un montón de cosas interesantes allí.

 

Alexey Viktorov #:

Obtienes una operación, obtienes de ella el ID de la posición, sacas órdenes y operaciones del historial por este ID y lees los precios de la orden y de la operación EN.

Está claro. Pero la segunda opción con el precio guardado, mientras envías una orden, a nivel global y luego en OnTradeTransaction obtienes el precio de la operación... esto no me queda claro. ¿Por qué guardar un precio que no está vinculado (a la orden) mientras se envía la orden?


En resumen, lo haré de esta manera: obtener la operación y luego sacar todo lo demás.

 
Adam Dee "Bandas de Bollinger", para el periodo especificado.

La esencia del problema: No puedo obtener los valores reales del precio en las líneas del indicador para la barra especificada, porque por alguna razón el mismo valor de precio se escribe en diferentes búferes del indicador, que tampoco corresponde a los valores reales de ninguna de las líneas de esta barra. Y como resultado, algún valor de precio desconocido se escribe en diferentes buffers (en diferentes peticiones), lo que anula todo el trabajo posterior de la función.
Además, utilizando exactamente el mismo método que en esta función, pude obtener indicadores de cualquier otro indicador, pero aquí no funciona....

Bolinger es SMA +- N*desviación_estándar.

Hay sus propios indicadores sobre la desviación estándar y SMA. Pero todo se calcula sin ellos - tomar un libro de referencia y aquí hay una fórmula. De él se encuentra la "distancia media en puntos entre las líneas", que es igual a 4 sigma en el momento de acuerdo con los valores predeterminados.
Y la media (¿para qué período?), ¿te molestas en calcularlo?

De facto quieres saber la media de la desviación típica.

 
Nauris Zukas #:

Esto está claro. Pero la segunda opción de guardar el precio mientras se envía la orden, a nivel global y luego en OnTradeTransaction obtener el precio de la transacción... esto no me queda claro. ¿Por qué guardar un precio que no está vinculado (a la orden) mientras se envía la orden?


En resumen, lo haré así: obtener la operación y luego sacar todo lo demás.

Esto se dijo sobre el comercio tranquilo, cuando todo estará en el tiempo ... Sin tener esto en cuenta

Foro sobre el comercio, los sistemas automatizados de comercio y probar estrategias de negociación

Preguntas de los principiantes MQL5 MT5 MetaTrader 5

Nauris Zukas, 2022.06.11 17:49

Esta opción está definitivamente fuera. ¿Cuál es el precio para mí sin un billete si envío muchas órdenes, ¿cómo OnTradeTransaction tratar con él?


 
Alexey Viktorov #:

Se decía de las operaciones tranquilas cuando todo estará a su tiempo... Sin tener en cuenta que


¡La mañana es más sabia por la tarde! ¿Por qué debería intentar implementar alguna lógica de mql4 y usar OnTradeTransaction para calcular el deslizamiento? mql5 me permite calcular el deslizamiento a partir de los historiales, revisaré los historiales en un momento determinado y recopilaré toda la información.
De todas formas, ¡gracias por tu ayuda!

 
Maxim Kuznetsov #:

Bolinger es SMA +- N*desviaciones_estándar.

La desviación estándar y SMA tienen sus propios indicadores. Pero todo se calcula sin ellos - tomar un libro de referencia y aquí es una fórmula. A partir de ella se encuentra la "distancia media en puntos entre las líneas", que es igual a 4 sigma en el momento de acuerdo a los valores predeterminados.
Y la media (para qué período?), Por favor, calcularlo.

De facto quieres saber la media de la desviación típica.

Te entiendo más o menos... (aunque bastante débilmente)
¿Puedes por favor sugerir esta misma fórmula del libro de referencia, a través de la cual puedo hacer el cálculo?

 
Nauris Zukas #:

Esto está claro. Pero la segunda opción de guardar el precio mientras se envía la orden, a nivel global y luego en OnTradeTransaction obtener el precio de la transacción... esto no me queda claro. ¿Por qué guardar un precio que no está vinculado (a la orden) mientras se envía la orden?

Por eso guardamos (y corregimos al cambiar, por ejemplo, el estado) desde el envío al pasar al histórico todas las órdenes con todos los parámetros necesarios.

Razón de la queja: