Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1622

 
makssub #:

... Um destes dias vou verificar.

Hoje ou no outro dia?

Isso é preocupante...

 
Roman Sharanov NULL.
Mas se eu simplesmente copiar o código do primeiro construtor para o segundo e não o chamar, tudo funciona. Qual é o problema?
PapaYozh #:


O problema está na MQL.

Em tais situações, coloco a inicialização em um método separado que retiro de diferentes construtores.

---

Há também um problema em ligar para a construtora mãe.

O problema está em não entender o que está acontecendo ao chamá-lo:

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

E aqui é simples. Um objeto CWave é criado e imediatamente destruído)))) Este objeto temporário não tem nada a ver com a instância em cuja construção foi feita a chamada))))

 
Vladimir Simakov #:

O problema é não entender o que acontece quando você faz uma chamada:

E aqui é simples. Um objeto da CWave é criado e imediatamente destruído). Este objeto temporário não tem nada a ver com a instância em cuja construção foi feita a chamada))))

Onde você viu o novo operador?
 

Bom dia a todos!!!

Estou escrevendo uma grade EA, preciso encontrar um lucro somente para o pedido com o bilhete máximo e o pedido com o bilhete mínimo (o mínimo é para mais tarde), agora quero encontrar um lucro para o pedido máximo. Estou anexando a função e uma foto que mostra o princípio da abertura de uma grade de ordens. Minha pergunta é: estou correto ao escrever a função para calcular o lucro de um pedido com um bilhete máximo? Obrigado de antemão.

//+----------------------------------------------------------------------------+
//| Расчет профита максимального ордера в сетке                                |
//+----------------------------------------------------------------------------+
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);
}

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

Então, hoje ou no outro dia?

É um pouco alarmante...

Está tudo bem. Eu queria verificar agora, mas eles me chamaram e eu percebi que não voltaria tão cedo. Isso é um relatório e tanto, não é?)

 
EVGENII SHELIPOV #:

Bom dia a todos!!!

Estou escrevendo uma grade EA, preciso encontrar um lucro somente para o pedido com o bilhete máximo e o pedido com o bilhete mínimo (o mínimo é para mais tarde), agora quero encontrar um lucro para o pedido máximo. Estou anexando a função e uma foto que mostra o princípio da abertura de uma grade de ordens. Minha pergunta é: estou correto ao escrever a função para calcular o lucro de um pedido com um bilhete máximo? Obrigado de antemão.

//+----------------------------------------------------------------------------+
//| Расчет профита максимального ордера в сетке                                |
//+----------------------------------------------------------------------------+
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 #:

O problema é não entender o que acontece quando você faz uma chamada:

E aqui é simples. Um objeto da CWave é criado e imediatamente destruído). Este objeto temporário não tem nada a ver com a instância em cuja construção foi feita a chamada))))


Não fique extravagante. A essência do que acontece é que você chama um método que é um construtor com um conjunto diferente de parâmetros. Nenhum objeto é criado por isto.

Uma chamada semelhante do construtor, que também não conduzirá ao resultado desejado:

this.CWave(namePref, startPrice, startTime, endPrice, endTime);
 
Boa tarde. Favor informar como encontrar o preço de abertura do pedido mais próximo ao preço atual. MQL4. Você tem algum exemplo?
 

Olá, você poderia me dizer se eu entendi corretamente a expressão?

MaxMartinLot = Lote*MathPow(K_Martin,OrderClose); - significa K_Martin , na medida de OrderClose ?

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

Olá, você poderia me dizer se eu entendi corretamente a expressão?

MaxMartinLot = Lote*MathPow(K_Martin,OrderClose); - significa K_Martin , na medida de OrderClose ?

O que é EncomendasFechar ?

Veja aqui
Razão: