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

 
EVGENII SHELIPOV #:

La pregunta es si alguien se ha encontrado con una situación de este tipo en lo que es la cuestión del código incorrecto o en la cocina del corredor????

Si se lleva la cuenta no sólo del error de cierre, sino de qué órdenes se han elegido para cerrar, se verá más claramente dónde está el fallo.

 
EVGENII SHELIPOV #:

¡¡¡¡Buenas tardes!!!!


Publica el código de OnTick()
 
EVGENII SHELIPOV real, pero en la cuenta real ocurren milagros: sólo se cierran las órdenes con beneficios de toda la parrilla.
//+----------------------------------------------------------------------------+
//| Закрытие сетки ордеров при заданной команде                                |
//+----------------------------------------------------------------------------+
void ClosseAll()
  {
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Bid, slip))
                  Print("Не удалось закрыть ордера на покупку!");
              }
            if(OrderType() == OP_SELL)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Ask, slip))
                  Print("Не удалось закрыть ордер на продажу!");
              }
           }
        }
     }
  }

Podemos ver en el código que las órdenes se cierran por el símbolo y por un puente. Pero esto no ocurre para que se tenga en cuenta el beneficio. ¿Qué impide que se cierren las posiciones perdedoras? Probablemente sea mejor preguntar al corredor.

 
Mihail Matkovskij #:

En el código se puede ver que las órdenes se cierran por el símbolo y por el meigic. Pero no se tiene en cuenta el beneficio. ¿Qué impide que las posiciones no rentables se cierren...? Probablemente, es mejor preguntar al corredor.

¿Qué opinas, si añado la condición de cálculo de beneficios > 0 a la función de cerrar todas las órdenes, cambiará?

Tengo esta condición en mi comando para cerrar órdenes

 
EVGENII SHELIPOV #:

¿Qué opinas, si añado la condición de cálculo de beneficios > 0 a la función de cierre de todas las órdenes, cambiará?

Tengo esta condición en el comando para cerrar órdenes

Tenemos que añadir un control
 
EVGENII SHELIPOV #:

¿Qué opinas, si añado la condición de cálculo de beneficios > 0 a la función de cierre de todas las órdenes, cambiará?

Tengo esta condición en mi comando para cerrar órdenes

A juzgar por su pregunta, las órdenes no son cerradas por el corredor. Si envías una petición al servidor para cerrar un pedido (OrderClose) y no se cierra como resultado de esta petición, no puedes cambiar nada aquí usando el código.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.01.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
EVGENII SHELIPOV #:

¿Qué opinas, si añado la condición de cálculo de beneficios > 0 a la función de cierre de todas las órdenes, cambiará?

Tengo esta condición en el comando para cerrar órdenes

Añade una bandera para cerrar hasta que se cierre y cualquier corredor funcionará.
 
Tretyakov Rostyslav #:
Añade la bandera para cerrar hasta que se cierre y cualquier corredor funcionará.

Ahora estamos teniendo una conversación constructiva.

Rostislav, si pudieras explicar mejor lo de la bandera.

O no así para los tontos, deletrearlo.

 
EVGENII SHELIPOV #:

Ahora estamos teniendo una conversación constructiva.

Rostislav, si puedes explicar mejor lo de la bandera.

O no, así que explíquelo para los tontos.

¿Podría publicar el código OnTick() ...

No todo el código, sólo las partes donde se comprueba CountTrade()

 
Tretyakov Rostyslav #:

Publica el código de OnTick() ...

No todo, sólo las partes donde se comprueba CountTrade().

Bandeja de entrada

Razón de la queja: