ORDER_POSITION_ID

 

¡Buenas tardes!

¿Alguien utiliza

 if ( OrderSelect( ticket ) )
 {
  long pos_id = long( OrderGetInteger( ORDER_POSITION_ID ) );

  if ( pos_id > 0 )
  {
  }
}

Yo, cuando una orden se ejecuta parcialmente pos_id siempre = 0

¿Por qué?

De la ayuda de MQ:

ORDER_POSITION_ID

El identificador de posición que se pone en la orden cuando se ejecuta. Cada orden ejecutada genera una operación, que abre una nueva posición o modifica una existente. El identificador de esta posición se ajusta a la orden ejecutada en este momento.

 
¿Nadie lo sabe?
 
Yo uso :) como magia cuando se necesita vincular órdenes a una posición.
 
Yurich:
Yo lo uso :) Como la magia, cuando es necesario vincular una orden a una posición.

Entonces, ¿por qué tengo 0?

Porque si se hubiera escrito en la ayuda habría dicho:

ID de la posición, que se pone en la orden cuando se ejecuta.

Entonces tal vez debería ser cero.

Pero dice:

Cada orden ejecutada generauna operación que abre una nuevaposición o modifica unaposición existente. El identificador de esta posición se ajusta a la orden ejecutada en ese momento.

Y una orden parcialmente ejecutada también genera un acuerdo.

¿Qué quieres decir?

 
Mikalas:

Entonces, ¿por qué tengo 0?

Está en servicedesk.

Estaba respondiendo a la pregunta"¿Alguien usa?" y era inexacto, yo usola identificación de posición.

 
Yurich:

Está en servicedesk.

Estaba respondiendo a la pregunta"¿Alguien usa?" y era inexacto, yo usola identificación de posición.

Ya veo, gracias.

Pero es el identificador de posición, pero sólo en la orden.

 
Mikalas:

Conmigo, cuando una orden se ejecuta parcialmente pos_id siempre = 0

¿Por qué?

No uso pos_id, probablemente porque no entiendo para qué sirve.

Me pregunto qué ID debe tener una orden que cierra una posición anterior y abre una nueva (flip).

p.d. La idea es que sólo debe haber una posición de negociación civil (no importa en qué sentido: compra, venta, cobertura). Si parece que no hay posición, es temporal).

 
Serj_Che:

No uso pos_id, probablemente porque no entiendo para qué sirve.

Me pregunto qué ID debe tener una orden que cierra una posición anterior y abre una nueva (flip).

p.d. La idea es que sólo debe haber una posición de negociación civil (no importa en qué sentido: compra, venta, cobertura). Si parece que no hay posición, es temporal).

La confusión se debe a que la referencia ofrece una descripción ambigua,

que puede interpretarse de forma diferente. Porque una orden parcialmente ejecutada también crea un

Por lo tanto, se debe asignar al pedido un ORDER_POSITION_ID

 
Mikalas:

¡Buenas tardes!

¿Alguien utiliza

Siempre tengo pos_id = 0 cuando una orden se ejecuta parcialmente.

¿Por qué?

Tal vez porque ORDER_POSITION_ID se solicita inmediatamente después de la ejecución de la orden, cuando el servidor de operaciones aún no ha tenido tiempo de enviar información sobre la transacción.

Leer el artículo Eventos comerciales en MetaTrader 5


 
Rosh:

Esto puede deberse a que ORDER_POSITION_ID se solicita inmediatamente después de la ejecución de la orden, cuando el servidor de operaciones aún no ha tenido tiempo de enviar información sobre la transacción.

Leer el artículo Eventos comerciales en MetaTrader 5


¿No está seguro de su respuesta?
 
Rosh:

Tal vez porque ORDER_POSITION_ID se solicita inmediatamente después de la ejecución de la orden, cuando el servidor de operaciones aún no ha tenido tiempo de enviar información sobre la transacción.

Leer el artículo Eventos comerciales en MetaTrader 5


No está claro. Si hay un ticket, la transacción se ejecuta, y hemos recibido una respuesta del servidor.

¿Qué quiere decir que tenemos un ticket, pero el servidor no ha recibido la respuesta?