Aprender e escrever juntos em MQL5 - página 27

 
Khomtchenko:

Pode dizer-me o que significam essas barras verdes no fundo? Em MT4 significavam volume de lote e foram sorteados quando o lote mudou. Mas para que serve aqui? Ou o volume do meu lote muda? Parece que não o mudo.

É o que diz no canto superior esquerdo: "Nível de margem".

 

Outra questão: a julgar pelo gráfico do testador, há muitas vezes menos entradas no mercado em mql5 ou o testador mostra os resultados de várias transacções de uma forma generalizada ou suave. Bem, os resultados dos testes são diferentes e é tudo!

A propósito, já ouvi muitas coisas inteligentes como "limpar os faróis", "bater na roda" e EAs, mas ninguém me explicou nada em particular ou apontou os meus erros. Vou também resumir num relatório todos os comentários feitos por moderadores e peritos para deixar claro se o super produto mql5 tem o apoio técnico normal.

 
Khomtchenko:
A propósito, ouvi muitas coisas inteligentes como "limpar os faróis" e "bater na roda", coloquei EAs, mas ninguém me explicou especificamente nada e não me apontou os meus erros. Vou também resumir todos os comentários feitos por moderadores e peritos num relatório para deixar claro se o super produto mql5 tem um apoio técnico decente.

Anexou os relatórios de pessoal do testador em formato zip aos seus postos?

Assim que os observar e fizer uma análise pós-processo, compreenderá tudo de uma só vez. Não há necessidade de perder tempo com estimativas superficiais como "os totais e o número de negócios não se somam".

Foram-lhe dados os caminhos de pesquisa: verifique a história (está a confiar na crença errada de que a história é a mesma em todo o lado) e análise caso a caso.

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

Na última construção, apareceram construtores com parâmetros. Muito obrigado aos criadores!

Mas surgiu um problema ao herdar tais construtores. Ao compilar o seguinte código, ocorre um erro "clsBase - contagem de parâmetros errados" e o compilador aponta para a linha vermelha a negrito:

class clsBase {
    protected:
        string __strSymbol;
        ENUM_TIMEFRAMES __enumTF_thisTF;

    public:
        void clsBase(int intX);
        void ~clsBase();
};


void clsBase::clsBase(int intX) {

}


class clsInherit:public clsBase{

    public:
        void clsInherit(int intX,double dblY);
        void ~clsInherit();
};


void clsInherit::clsInherit(int intX,double dblY):clsBase(int intX){

}

Além disso, se comentar a linha verde arrojada, a compilação prossegue sem erros.

Isto é, se não for um insecto, estou a declarar incorrectamente o construtor de uma classe herdada.

Nada de novo na ajuda até agora, ou seja, diz sobre os construtores com parâmetros que não são possíveis.

Explique a sintaxe da chamada do construtor com parâmetros para a classe herdada.

 

Tente desta forma:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsBase
  {
protected:
   string            __strSymbol;
   ENUM_TIMEFRAMES   __enumTF_thisTF;

public:
   void              clsBase(int intX);
   void             ~clsBase() {};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void clsBase::clsBase(int intX)
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsInherit:public clsBase
  {
public:
                     clsInherit(int intX,double dblY):clsBase(intX)
     {
     }
                    ~clsInherit()
     {

     }
  };
 

Já o experimentei!

Mesmo assim

void clsInherit::clsInherit(int intX,double dblY):clsBase(intX)

void clsInherit::clsInherit(int intX,double dblY)


O compilador diz a mesma coisa

PS Enquanto escrevia isto, o seu post foi actualizado. Vou tentar novamente agora.


O PPS experimentou-o, mas é o mesmo que escrevi anteriormente, ou seja, sem corpo de construtor a compilação é feita.

Mas não preciso de escrever construtor no corpo de declaração de classe, só preciso de o declarar lá e escrever o próprio corpo de construtor (tenho um longo) mais adiante, como é normalmente feito.

Por outras palavras, vou repetir a pergunta :)

A sintaxe para chamar um construtor com parâmetros numa classe herdada?

 
falkov:

Mas não preciso de escrever construtor no corpo de declaração de classe, só preciso de o declarar lá e escrever o próprio corpo de construtor (tenho um longo) mais adiante, como é normalmente feito.

No MQL5 recomenda-se não dividir as classes em ficheiros MQH/MQ5 e não separar a descrição da implementação num único ficheiro, mas escrever o corpo directamente no bloco de classes.


A sintaxe de uma chamada do construtor com parâmetros numa classe herdada?

O bug acima já foi corrigido - estará disponível na próxima construção. Será possível levar a implementação de construtores complexos para fora do bloco de descrição de classes.


ps: o meu código de exemplo compila bem, eu verifiquei

 

O vosso exemplo compila sem erros, foi o que eu disse, mas não é o que eu preciso.

Obrigado pela próxima construção, ansioso por ela!

 
Anexou os relatórios de pessoal do testador em formato zip aos seus postos?

Expus os conselheiros para si. Vejam o que quiserem! 10 segundos para compilar e testar mais 1 minuto. Quer propriedades do objecto e eu dou-lhe o objecto inteiro.

Obtém-se resultados diferentes, e os resultados são dramaticamente diferentes. Os Conselheiros Especialistas têm um código muito pequeno. Um par de funções padrão para abrir uma posição e 4 linhas da própria estratégia.

Ok. Existe algum outro site onde os criadores de produtos mql5 possam apoiar o seu desenvolvimento? Não há aqui ajuda. Apenas desculpas. Como se o conseguisses descobrir por ti próprio. OBRIGADO A TODOS.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
Khomtchenko:

Existe algum outro site onde os criadores de produtos mql5 possam defender o seu desenvolvimento?

Não há aqui ajuda. Há apenas desculpas. Como se descobrisses por ti próprio...

Antes de mais, estes são os vossos peritos em desenvolvimento.

Em segundo lugar, se é preguiçoso, porque deveriam os outros fazer o mesmo?