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

 
makssub #:

... Lo comprobaré uno de estos días.

¿Hoy o el otro día?

Eso es preocupante...

 
Roman Sharanov NULL.
Pero si simplemente copio el código del primer constructor al segundo y no lo llamo, todo funciona. ¿Cuál es el problema?
PapaYozh #:


El problema está en el MQL.

En tales situaciones, pongo la inicialización en un método separado que saco de diferentes constructores.

---

También hay un problema con la llamada al constructor padre.

El problema está en no entender lo que ocurre al llamarlo:

CWave(namePref, startPrice, startTime, endPrice, endTime);

Y aquí es sencillo. Se crea un objeto CWave y se destruye inmediatamente)) Este objeto temporal no tiene nada que ver con la instancia en cuyo constructor se hizo la llamada))

 
Vladimir Simakov #:

El problema es no entender lo que ocurre cuando se hace una llamada:

Y aquí es sencillo. Se crea un objeto CWave y se destruye inmediatamente). Este objeto temporal no tiene nada que ver con la instancia en cuyo constructor se hizo la llamada))

¿Dónde has visto al nuevo operador?
 

¡¡¡Buenos días a todos!!!

Estoy escribiendo un EA de rejilla, necesito encontrar un beneficio sólo para la orden con el ticket máximo y la orden con el ticket mínimo (el mínimo es para después), ahora quiero encontrar un beneficio para la orden máxima. Adjunto la función y una imagen que muestra el principio de la apertura de una parrilla de pedidos. Mi pregunta es, ¿estoy en lo cierto al escribir la función para calcular el beneficio de una orden con un ticket máximo? Gracias de antemano.

//+----------------------------------------------------------------------------+
//| Расчет профита максимального ордера в сетке                                |
//+----------------------------------------------------------------------------+
double GetProfitMaxOrder(int otype)
{
  int max_ticket=0;
  double max_ticket_profit = 0;
         ticket = 0;
  {
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) 
    {
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
      {
        max_ticket = OrderTicket();
        if(max_ticket > ticket)
        {
          ticket = max_ticket;
          max_ticket_profit = OrderProfit();
        }
      }
    }
  }
  return(max_ticket_profit);
}

 
Сергей Таболин #:

¿Es hoy o el otro día?

Es un poco alarmante...

Está bien. Quería comprobarlo ahora, pero me llamaron y sabía que no volvería pronto. Es todo un informe, ¿no?)

 
EVGENII SHELIPOV #:

¡¡¡Buenos días a todos!!!

Estoy escribiendo un EA de rejilla, necesito encontrar un beneficio sólo para la orden con el ticket máximo y la orden con el ticket mínimo (el mínimo es para después), ahora quiero encontrar un beneficio para la orden máxima. Adjunto la función y una imagen que muestra el principio de la apertura de una parrilla de pedidos. Mi pregunta es, ¿estoy en lo cierto al escribir la función para calcular el beneficio de una orden con un ticket máximo? Gracias de antemano.

//+----------------------------------------------------------------------------+
//| Расчет профита максимального ордера в сетке                                |
//+----------------------------------------------------------------------------+
double GetProfitMaxOrder(int otype)
{
  int max_ticket=0;
  double max_ticket_profit = 0;
  {
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) 
    {
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
      {
      if(max_ticket < OrderTicket())
         {
         max_ticket = OrderTicket();
         max_ticket_profit = OrderProfit()+OrderCommission()+OrderSwap();
        }
      }
    }
  }
  return(max_ticket_profit);
}
 
Vladimir Simakov #:

El problema es no entender lo que ocurre cuando se hace una llamada:

Y aquí es sencillo. Se crea un objeto CWave y se destruye inmediatamente). Este objeto temporal no tiene nada que ver con la instancia en cuyo constructor se hizo la llamada))


No te pongas elegante. La esencia de lo que sucede es que se llama a un método que es un constructor con un conjunto diferente de parámetros. No se crea ningún objeto con esto.

Una llamada al constructor similar, que tampoco conducirá al resultado deseado:

this.CWave(namePref, startPrice, startTime, endPrice, endTime);
 
Buenas tardes. Por favor, indique cómo encontrar el precio de apertura de la orden más cercano al precio actual. MQL4. ¿Tiene algún ejemplo?
 

Hola, ¿podría decirme si he entendido bien la expresión?

MaxMartinLot = Lot*MathPow(K_Martin,OrdersClose); - significa que K_Martin , hasta el punto de OrdersClose ?

 
законопослушный гражданин #:

Hola, ¿podría decirme si he entendido bien la expresión?

MaxMartinLot = Lot*MathPow(K_Martin,OrdersClose); - significa que K_Martin , hasta el punto de OrdersClose ?

¿Qué es OrdersClose?

Ver aquí
Razón de la queja: