Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1364

 
MakarFX:

pero lo he probado de esta manera.

¿Qué función debo utilizar a continuación para recorrer las posiciones cerradas?

 
Amon1953:

¿Qué función debo utilizar a continuación para recorrer las posiciones cerradas?

¿Y qué hay que hacer con las órdenes encontradas en general?
 
MakarFX:
De todos modos, ¿qué hay que hacer con las órdenes encontradas?

Necesito encontrar la última posición cerrada de SL para tomar una decisión

if(HistorySelectByPosition(ORDER_MAGIC==1))

{

int PosTotal= ??? ¿qué función utilizar?

Alert("PosTotal ",PosTotal);

for(int i=PosTotal-1; i>=0; i--)

{

Alert("PositionsTotal ",PosTotal);

}}


 
Amon1953:

Necesito encontrar la última posición cerrada del SL para tomar una decisión

Hay una gran diferencia entre

a) Averiguar si la última posición se cerró en el stop, y

b) Encuentre la última posición cerrada por un stop.

--------

¿Qué necesitas?

 
Amon1953:

Necesito encontrar la última posición cerrada de SL para tomar una decisión

No soy bueno en MQL5, pero creo que la búsqueda debe comenzar así

      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,DEAL_TIME)>=CurrentTime)
           {
            if(HistoryOrderGetInteger(ticket,DEAL_MAGIC)==Magic)
              {
               if(HistoryOrderGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
 
MakarFX:

No soy bueno en MQL5, pero creo que la búsqueda debe comenzar así

Necesito una posición cerrada, no una operación u orden

 
Amon1953:

Necesito una posición cerrada, no una operación u orden

Confundido

HistoryOrderSelect


 
MakarFX:

Confundido

HistoryOrderSelect


¿Cómo puede ayudar una orden judicial?

 
Artyom Trishkin:

¿Cómo puede ayudar una orden judicial?

La pregunta original era

Amon1953:
Esta es probablemente una pregunta simple e ingenua, pero ya me he devanado los sesos conHistorySelectByPosition(ORDER_MAGIC==1) Necesitoun historial de posiciones con magic = 1. Hay algo que no entiendo. Haga lo que haga, no entiendo la historia. ¿Dónde debo introducir el número de un mago?
      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,ORDER_MAGIC)==Magic)


 
MakarFX:

La pregunta original era.


En cinco, orden != posición. Y una transacción. Una orden (pedido) genera una operación. Y un acuerdo da lugar a una posición, ya sea cambiándola o cerrándola.

Por lo tanto, para encontrar cómo se cerró una posición, es necesario seleccionar las operaciones de esta posición, encontrar la operación de cierre y mirar sus propiedades - la razón del cierre puede estar especificada allí.

Razón de la queja: