Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1098
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
Hmm, extraña situación, al igual que la actividad en el tema que planteé, tenía una pregunta, desde mi punto de vista específica, pero en lugar de una respuesta hasta ahora obtuve "¿por qué lo necesitas?
Quiero hacerlo con SB CTrade, aquí hay un ejemplo (compilado de 2 mis ejemplos): Abrimos cadanueva barra a 9 TF por una orden, memorizamos el ticket y determinamos la dirección de una orden cerrada por el número de ticket.
En MQL4, el código para el probador se vería así
necesitamos un código para el probador, es decir, el mínimo número de comprobaciones y el trabajo más rápido posible en el optimizador.
¿Cómo escribir este código en MQL5 con SB CTrade?
Hmm, extraña situación, al igual que la actividad en el tema que planteé, tenía una pregunta, desde mi punto de vista específica, pero en lugar de una respuesta hasta ahora obtuve "¿por qué lo necesitas?
Quiero hacerlo con SB CTrade, aquí hay un ejemplo (compilado de 2 mis ejemplos): Abrimos cada nueva barra a 9 TF por una orden, memorizamos el ticket y determinamos la dirección de una orden cerrada por el número de ticket.
En MQL4, el código para el probador se vería así
¿Cómo escribir este código en MQL5 utilizando SB CTrade?
Foro sobre trading, sistemas de trading automatizados y comprobación de estrategias
FAQ de principiantes MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.07.21 12:56
Así, la base es elPOSITION_IDENTIFIER, pero no el ticket de posición. Es importante sólo por la red:
IDENTIFICADOR_DE_POSICIÓN
El identificador de la posición es un número único, que se asigna a cada posición recién abierta y no cambia a lo largo de su vida. Corresponde al ticket de la orden con la que se abrió la posición.
El identificador de la posición se especifica en cada orden (ORDER_POSITION_ID) y en cada operación (DEAL_POSITION_ID) que la haya abierto, modificado o cerrado. Utilice esta propiedad para buscar órdenes y operaciones relacionadas con la posición.
Cuando se invierte una posición en modo de compensación (una sola operación de entrada/salida), el identificador POSITION_IDENTIFIER de la posición no se modifica. Sin embargo, POSITION_TICKET se cambia por el ticket de la orden que dio lugar a la anulación. En el modo de cobertura no hay inversión de posiciones.
largo
Por lo tanto, hay que tener en cuenta el identificador de posición (POSITION_IDENTIFIER).
Ahora, una tarea más precisa: en la primera ejecución, abrimos una POSICIÓN DE COMPRA y la memorizamos (OJO: debemos memorizar el ID de la posición, no el ticket). Si la posición se ha cerrado, abrimos una posición opuesta: por ejemplo, antes había una posición de COMPRA, luego se cerró, lo que significa que abrimos una posición de VENTA de inmediato.
Ahora será mucho más fácil resolver el problema.
Es decir, CTrade no sabe detectar de forma independiente si una orden está abierta o cerrada, ¿cuál fue el tipo de la última orden cerrada?
¿qué biblioteca debo utilizar para este fin?
es decir, ¿CTrade no sabe detectar de forma independiente si una orden está abierta o cerrada? ¿cuál fue el tipo de la última orden cerrada?
¿Qué biblioteca debemos utilizar para ello?
Ya te lo he dicho cientos de veces, así que por favor elimina la palabra "orden" de tu vocabulario. Hasta que no lo hagas, no podrás seguir adelante. De todos modos, probablemente no podré ayudarte. Eso es lamentable.
Bueno, te lo he dicho cientos de veces: elimina la palabra "orden" de tu vocabulario. Hasta que no lo hagas, no podrás seguir adelante. De todos modos, probablemente no pueda ayudarte. Es una pena.
Bueno, dime qué quieres decir con eso:
Bueno, te lo he dicho cientos de veces: elimina la palabra "orden" de tu vocabulario. Hasta que no lo hagas, no podrás seguir adelante. De todos modos, probablemente no pueda ayudarte. Es una pena.
¿De acuerdo? Permítame reformular la pregunta:
Cómo se utiliza un ticket recordado con CTrade::ResultOrder()
para averiguarlo:
1. si la posición está cerrada
2. ¿qué tipo de trato tenía la posición cerrada?
3. necesitamos manejar simultáneamente 9 posiciones, órdenes o tickets, o ... OnAnyTerminology en una cuenta de cobertura
¿en esta formulación mi pregunta es inequívoca? (ejemplo reproducible en MQl4 publicado anteriormente)
ZS: No puedo olvidar el orden de las palabras, lamentablemente esta palabra se utiliza en la ayuda junto con otros términos:https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctraderequestorder
Hm, es una situación extraña, parecía haber planteado el tema, mi pregunta era específica desde mi punto de vista, pero en lugar de una respuesta obtuve "¿por qué lo necesitas?
La razón es la incompetencia de los que responden. He tardado cinco minutos en escribirlo y un intento en comprobarlo.
MT4
Foro sobre trading, sistemas de trading automatizados y comprobador de estrategias
Preguntas de los principiantes MQL5 MT5 MetaTrader 5
fxsaber, 2019.07.21 12:54
MT5
No es necesario ser un experto en la materia para escribir esto, sólo es necesario conocer los fundamentos de MT5.
ZS En la red hay un pequeño matiz para determinar el tipo de posición cerrada. Pero aquí no juega ningún papel.
No necesitas ser fuerte para escribir esto, sólo necesitas saber lo básico de MT5.
Gracias.
Sí, estaba buscando una solución si no podía escribirla en cinco líneas con SB
Pero cuanto entendí, que un SB CTrade no será capaz de resolver mi problema? Y tuve que usar CPositionInfo también? - ¿Si quiero acompañar 9 posiciones por varios TFs al mismo tiempo?
ZS: Estoy sentado en la ayuda MQL5 con la televisión inteligente - bastante bien descrito funciones comerciales, el uso de SatB está bajo una pregunta .... creo que tiene sentido usar SB para estrategias primitivas, un poco más complicadas - la funcionalidad es insuficiente o no es obvio el uso, tal vez necesito más práctica - voy a tratar de "torcer" el SB
Gracias de nuevo.
La razón es la incompetencia tan contestada. He tardado cinco minutos en escribir y un intento en comprobarlo.
MT4
MT5
No es necesario ser un experto en la materia para escribir esto, sólo es necesario conocer los fundamentos de MT5.
No es necesario que conozcas los fundamentos, sólo necesitas conocer los fundamentos básicos de MT5. Pero eso no importa aquí.
Aquí es donde
hay una trampa potencial.
En la lista histórica las garantías no están dispuestas en el orden en que aparecen en dicha lista. Me encontré con esto al desarrollar la biblioteca. Confié en ello. Pero resultó no ser tan sencillo. Pruebe a poner órdenes de límite y stop sucesivamente en el siguiente orden: límite -> stop -> límite -> límite -> stop y borre cada una de ellas en cualquier orden y vea cuál es la última orden registrada en la lista del historial. Se sorprenderá.
Aquí es donde
hay un error potencial.
En la lista del historial, los pedidos no están dispuestos en el orden en que aparecen en la lista. Me encontré con esto al desarrollar la biblioteca. Confié en ello. Pero resultó no ser tan sencillo. Pruebe a poner órdenes de límite y stop sucesivamente en el siguiente orden: límite -> stop -> límite -> límite -> stop y borre cada una de ellas en cualquier orden y vea cuál es la última orden registrada en la lista del historial. Se sorprenderá.
No hay ningún error, ya que la lista se genera a través de HistorySelectByPosition.