Características del lenguaje mql5, sutilezas y técnicas - página 19
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Cómo puedo determinar la hora de apertura de la última posición y la hora de cierre de la última posición?
En general, me gustaría conocer los principios generales y los algoritmos para obtener información sobre las posiciones abiertas/cerradas en mql5.
¿Qué hay que tener en cuenta, qué peculiaridades hay en este momento?
La cuestión es que estoy utilizando la sintaxis MQL4, que es 1000 veces más fácil y comprensible que la sintaxis MQL5 para trabajar con la parte de comercio.
Sabes muy bien lo fácil y claro que se puede resolver tu tarea en tres líneas en MQL4. Por eso es exactamente como lo hago yo.
Para responder a todas las preguntas relacionadas con MQL5 estoy buscando en el código fuente de la biblioteca. Todos los matices que conozco han sido considerados allí.
Por el momento, podemos afirmar que las posiciones de cobertura y de compensación son muy diferentes. Por ejemplo, en el Netting siempre se puede tener una sola posición durante meses, mientras que se negocia constantemente. Por lo tanto, la posición de compensación en la comprensión normal de MT5 es algo mal concebido y, en consecuencia, inconveniente. Así que para esta Red podemos crear nuestra propia esencia de posición. En MT4 también se pueden tener posiciones netas, pero con una interacción mucho más clara.
Abra una posición para 1 lote. Luego, ciérralo a 0,99 y deposita la misma cantidad. Y así varias veces.
La cobertura es conveniente no porque pueda tener posiciones multidireccionales, sino porque puede tener varias posiciones en un símbolo de UNA dirección. Así es exactamente como veo cómodo trabajar con posiciones en sistemas de red. No como en MT5.
Lo ideal es que cuando se trabaje con cuentas de Netting, se tenga siempre una tabla que se corresponda totalmente con las cuentas de MT4. Porque sólo estas tablas le dan una comprensión instantánea de lo que sucedió y cómo sucedió en la cuenta de operaciones. No las estadísticas de MT5.
En cuanto a la MT5-Hedge, todo es sencillo. Sin embargo, CloseBy no ha investigado. Por lo tanto, no lo sé.
No siempre es posible conocer los niveles SL/TP de una posición cerrada.
Esto es interesante... Necesito saber con certeza que la última posición cerrada se cerró con el take profit.
¿Hay alguna forma de saberlo con seguridad?
Esto es interesante... Me encuentro con la necesidad de saber con certeza que la última posición cerrada se cerró en el take profit.
¿Hay alguna forma de saberlo con seguridad?
Estoy haciendo lo que me han aconsejado:
Estoy haciendo lo que me han aconsejado.
Bien, ¿cómo puedo saber si la última operación ha provocado el cierre o la inversión de una posición?
Si la posición está cerrada o invertida, entonces tiene sentido comprobar sus datos, que serán necesarios para la lógica del asesor: volumen, hecho de cerrar en la toma o en el stop, etc.
De lo contrario, si el hecho de cerrar en la toma se detectó en la última operación, pero la posición se ha mantenido, entonces no tiene sentido comprobar los datos de la última posición cerrada (todavía existe).
En general, por supuesto, es difícil cambiar rápidamente a la lógica del sistema de órdenes de MT5 después del cuatro - por lo que surgen muchas preguntas al pensar en la lógica del comportamiento del EA, que depende de los datos de la última posición cerrada - en el cuatro es todo transparente - la posición tiene su propio tipo, y es la última - es conveniente - tomar los datos y utilizarlos. Pero aquí... cobertura, red ... y necesitamos el mismo resultado... y entonces empezamos a pensar de una manera diferente...
Bien, entonces, ¿cómo saber si la última operación ha supuesto el cierre o la inversión de una posición?
1. Si la posición está cerrada o invertida, entonces tiene sentido comprobar sus datos, que serán necesarios para la lógica del Asesor Experto: el volumen, el hecho de cerrar en toma o stop, etc.
De lo contrario, si el hecho de cerrar sobre la toma de beneficios se detectó en la última posición, pero la posición se mantuvo, entonces no tiene sentido comprobar los datos de la última posición cerrada (todavía existe).
En general, por supuesto, es difícil cambiar rápidamente a la lógica del sistema de órdenes de MT5 después del cuatro - por lo que surgen muchas preguntas al pensar en la lógica del comportamiento del asesor, que está ligado a los datos de la última posición cerrada - en el cuatro todo es transparente - la posición tiene su propio tipo, y es la última - encaja, tomamos los datos y los utilizamos. Pero aquí... cobertura, red ... y necesitamos el mismo resultado... y entonces empezamos a pensar por todos lados...
1. Comprobar el tipo de transacción, IN, OUT o IN/OUT
2. Si una posición se ha cerrado por SL o TP, ya está cerrada, no necesitamos comprobar el tipo de operación.
1. Compruebe el tipo de transacción, IN, OUT o IN/OUT
2. Si la posición se cierra por SL o TP, ya no existe, está cerrada, no es necesario comprobar el tipo de operación.
¿Es cierto para las redes? ¿O también es cierto para las coberturas? ¿No puede haber varias posiciones en una dirección en una cuenta de cobertura? ¿O es una posición y ....? ¿Qué es "y"? ... Mierda... No sé qué es "y"... Muchas preguntas, sin respuestas todavía.
También para el seto.
A lo largo de los años, mi cerebro se ha agudizado a la red. Orden->Transacción->Posición. Puede haber muchas operaciones en una posición (en una cobertura sólo hay una operación, corregidme si me equivoco), se puede saber qué pasó con la posición por el tipo de operación.
En una cobertura es, por supuesto, más fácil de entender, pero más difícil de seguir. Por supuesto, esta es mi opinión personal.
También para una cobertura.
A lo largo de los años, mi cerebro se ha agudizado a la red. Orden->Transacción->Posición. Puede haber muchas operaciones en una posición (en una cobertura sólo hay una operación, corregidme si me equivoco), se puede saber qué pasó con la posición por el tipo de operación.
En una cobertura es, por supuesto, más fácil de entender, pero más difícil de seguir. En mi opinión, por supuesto.
Esto es interesante... Necesito saber con certeza que la última posición cerrada se cerró con el take profit.
¿Hay alguna forma de saberlo con seguridad?
Cuando se encuentra la última operación DEAL_ENTRY_OUT y se selecciona todo el historial de la posición HistorySelectByPosition en esta lista, hay 2 operaciones y 2 órdenes, abriendo una posición y cerrándola. La orden en base a la cual se produjo el cierre contiene ORDER_PRICE_OPEN. Luego se comprueba el tipo de posición y el tipo de orden que se utilizó para cerrarla. Si el tipo de orden es contrario, significa que fue un cierre. En consecuencia, el precio de la orden es el precio que debemos buscar, con una pequeña corrección: Si el beneficio de la orden es > 0, entonces este es el precio de TP, si es < 0, entonces la posición se ha cerrado en SL.
Si tenemos en cuenta el comentario a la orden, no debemos confiar en ella.
Cuando se encuentra la última operación DEAL_ENTRY_OUT y se selecciona todo el historial de la posición HistorySelectByPosition en esta lista hay, para las cuentas hadge 2 operaciones y 2 órdenes, abriendo una posición y cerrándola. La orden en base a la cual se produjo el cierre contiene ORDER_PRICE_OPEN. Luego se comprueba el tipo de posición y el tipo de orden que se utilizó para cerrarla. Si el tipo de orden es contrario, significa que fue un cierre. En consecuencia, el precio de la orden es el precio que debemos buscar, con una pequeña corrección: Si el beneficio de la orden es > 0, entonces este es el precio de TP, si es < 0, entonces la posición se ha cerrado en SL.
Si nos basamos en el comentario de la orden yo no lo haría.