Errores, fallos, preguntas - página 2598

 
Los comentarios no relacionados con este tema han sido trasladados a "Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos".
 
Andrey Khatimlianskii:

¿Por qué una posición i-di para todo esto? No veo cómo utilizarlo en absoluto.

Basta con analizar las operaciones.

Utilizo la limpieza interna del algoritmo. Por lo tanto, hay varias posiciones virtuales y hay que cotejarlas regularmente con la posición real, para que no haya discrepancias. Además, la operación se realiza sobre varios símbolos, por lo que hay varias posiciones reales.

 
Francuz:

Utilizo la limpieza interna del algoritmo. Por lo tanto, hay varias posiciones virtuales, y hay que cotejarlas regularmente con la posición real para evitar discrepancias. Además, la operación se realiza sobre varios símbolos, por lo que hay varias posiciones reales.

¿Por qué la posición i-di? ¿Con qué lo compruebas?

¿Gestiona usted sus puestos virtuales? Genial, calcula el volumen y asegúrate de que es igual al volumen real.

Por lo visto, no veo la tarea en su conjunto.

 
Andrey Khatimlianskii:

¿Por qué una posición i-d? ¿Con qué lo compruebas?

¿Mantener sus posiciones virtuales? Genial, calcula el volumen y asegúrate de que es igual al volumen real.

Por lo visto, no veo la tarea en su conjunto.

Esto es durante el funcionamiento normal. Pero cuando el terminal se apaga de repente, todo se pierde. Por esta razón, he hecho una protección contra los fallos utilizando las variables globales de la terminal. Pero no se puede poner Símbolo allí. Así que uso PositionID en su lugar. Es aún más conveniente.

Pero nos hemos desviado de la esencia de la cuestión. Se ha detectado el error en las transacciones. Pero nadie de los desarrolladores se molestó en responder. ¿Se ha tenido en cuenta la información, o ni siquiera la han leído?

 
Francuz:

Esto es durante el funcionamiento normal. Pero cuando el terminal se apaga de repente, todo se pierde. Por eso lo protegí con variables globales de la terminal. Y no se puede poner Símbolo allí. Así que uso PositionID en su lugar. Es aún más conveniente.

Pero nos hemos desviado del asunto que nos ocupa. Se ha detectado el error en las transacciones. Pero nadie de los desarrolladores se molestó en responder. ¿Se ha tenido en cuenta la información, o ni siquiera la han leído?

¿Cuál es el error?

 
Artyom Trishkin:

¿Qué error?

Este error:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Se ha establecido con precisión que no funciona como se indica en la descripción oficial de la estructura:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.10.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Francuz:

Este error:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Se ha establecido con precisión que no funciona como se indica en la descripción oficial de la estructura:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

posición

Billete de la posición afectada por la transacción.


¿Qué pasa? Se le muestra un billete de posición. Esta es la identificación de la posición. Usted tiene una cuenta de compensación: sólo hay una posición en ella hasta que se cierra. Dar la vuelta a una posición no es cerrarla.

 
Artyom Trishkin:

posición

Billete de la posición afectada por la transacción.


¿Qué pasa? Se le muestra el billete de posición. Este es el ID de la posición. Tiene una cuenta con tipo de compensación; sólo hay una posición en ella hasta que se cierra. Dar la vuelta a una posición no es cerrarla.

Se equivoca. El ticket de posición y el id de posición son entidades diferentes. Son muy similares, así que no hay razón para confundirlos. En la enumeraciónENUM_POSITION_PROPERTY_INTEGER, estánclaramente separadas como entidades diferentes.

 

El probador de MT5 no ve el historial :






historial disponible en el terminal :



Puedes ver todos los detalles del lanzamiento en las capturas de pantalla. Gracias a todos.

 
Francuz:

Se equivoca. El ticket de posición y el id de posición son entidades diferentes. Son muy similares, por lo que no hay razón para confundirlos. En la enumeraciónENUM_POSITION_PROPERTY_INTEGER, estánclaramente separadas como entidades diferentes.

No me equivoco al decir que la identificación del puesto se le muestra. Eso es lo que he dicho por última vez.

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.

 Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.

 При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен

Usa tu lógica.
Si el número mostrado no cambia cuando se invierte la posición y sigue siendo el mismo, sólo puede significar una cosa: este número es un ID de posición. Fíjese en la orden que generó la transacción: no es la misma que el número de posición, lo que significa que la posición es el ID de la posición.

Esa es la base desde la que debe proceder. No se trata de un error en la transacción, sino de un error en la ayuda entonces.

Y con respecto a esta afirmación tuya puedo decir - por favor, mira mis artículos e imagina cómo los escribiría sin un estudio y una comprensión profunda del tema... Entiendo perfectamente y sé la diferencia, sólo te muestro exactamente lo que se ve en la revista.
Razón de la queja: