Erros, bugs, perguntas - página 1435

 

No início pensei que era um problema com os meus indicadores, mas depois apercebi-me - tudo está com falhas.

Quando carrego o terminal, o histórico de cotações permanece o mesmo (como se a sessão anterior não existisse) e o histórico não é actualizado automaticamente.

O preço é antigo, mas por alguma razão os amortecedores do indicador mostram o cálculo anterior (novos preços).

Quando o mercado está aberto, a "merda" actualiza-se (aparentemente num novo tick) e tudo se torna normal.

Quando o mercado está fechado, pode contemplar o "lixo" dos amortecedores "para o fim-de-semana", a menos que actualize forçosamente as cotações.

Para ilustração estou a anexar o gráfico com o indicador padrão SMA do conjunto de indicadores MT5:

Indicador padrão, por exemplo

Bild 2010, e o mesmo se passou com os antigos.

 

O que aconteceu ao MT5?

levantou-se de manhã e nenhum EA no testador de estratégias funciona... nenhuma posição em aberto...

Ontem à noite todos eles trabalharam ... hoje mais de 10 EAs deixaram de funcionar

tanto o antigo como o novo

 

Erro de compilação: erro de geração de código

class A { public:
        void g() {}
};
struct B {
/**/    virtual void f() { g(); }
        virtual void g() {}
};
A *f() export { return new A(); }
void OnStart()
{
        f().g();
}
Por exemplo, se remover a exportação ou comentar a linha /**/, o erro desaparecerá, o que significa que o compilador precisa de ser melhorado.
 

Qual é o hábito dos criativos da web aqui para mudar nomes de ficheiros em anexos?

Envio um indicador compilado com o nome requerido IndicatorCAF.ex4. Em anexo, "site inteligente" reescreve o nome conforme as suas necessidades: Indicador0AF_01.ex4.

Diga-me porquê? Qual é o sentido prático nisto? O que é a verdade? Bem, tudo bem não compreende os nomes russos e renomeia-os como lhe apetece - ainda há compreensível. Mas porquê mudar o nome de um ficheiro escrito em inglês para algo mais? É um nome, não um número...

Eu selecciono IndicatorCAF.mq4


O nome anexado a esta mensagem está correcto: IndicatorCAF.mq4


Envio uma mensagem e voilà.

Por alguma razão acrescentei _01 ao meu ex4-file anterior (é por isso que tenho perguntas)...

Ok, já anexei tal ficheiro com tal nome - é compreensível, mas este é o primeiro ficheiro. Ainda não encontrei tais nomes na nossa correspondência.


E o que é engraçado é que o ficheiro ex4 compilado na minha Versão MetaEditor: 5.00 build 1214 12 Nov 2015 não exibe objectos gráficos no terminal da pessoa a quem dou este ficheiro. Tem também terminal MT4, construir 910 e MetaEditor Versão: 5.00 construir 1214 12 Nov 2015.

O ficheiro fonte indicador compilado por ele normalmente cria um executável que funciona correctamente no seu terminal.

Quais são estes erros?

E então surge a questão óbvia: como se comportarão os programas compilados no meu editor para o mercado? A construção do terminal é 910, mas é incompatível com as versões anteriores devido ao novo compilador. Os programas compilados no meu editor irão funcionar no mercado?

 

Porque é que a qualidade deste ícone do terminal.exe é tão má ? É utilizado para mostrar todos os .ex5s no sistema de ficheiros

(3º a partir do terminal.exe, se numeração a partir de 1)

Os outros ícones são de qualidade normal, por exemplo

(1º) e(último)

 

Erro de compilação: erro de optimização da árvore

#property library
class A {};
A *f() export { return new A; }
void g() {}
int h( int a, int b ) { return b; }
class B {
       virtual int function() { return h( int(g()), 1 ); }
};

Mas se remover a palavra-chave virtual

class B {
              int function() { return h( int(g()), 1 ); }
};
então está bem. Que efeito teve?
 
A100:

Erro de compilação: erro de optimização da árvore

E se remover a palavra-chave virtual

então está bem. Que efeito teve?
???? dormi algo em demasia? Os métodos também podem ser exportados agora? As classes também estão disponíveis para exportação?
 
coderex:
??? Será que me escapou alguma coisa? Os métodos também podem ser exportados agora? E também estão disponíveis classes para exportação?

Que linha indica que o método foi exportado? O ponteiro poderia sempre ser devolvido. f() não é um método de classe - é uma função em si mesma.

Além disso, referimo-nos ao abstracto 'erro de optimização de árvores' não relacionado com uma determinada cadeia, que é um erro em si mesmo. Além disso, se puder ser resolvido simplesmente "rearranjando os fios" (removendo a palavra-chave virtual), isto é um duplo erro.

 
A100:

Que linha indica que o método foi exportado? O ponteiro poderia sempre ser devolvido. f() não é um método de classe - é uma função em si mesma.

Além disso, referimo-nos ao abstracto 'erro de optimização de árvores' não relacionado com uma determinada cadeia, que é um erro em si mesmo. Além disso, se puder ser resolvido simplesmente "rearranjando os fios" (removendo a palavra-chave virtual), isto é um duplo erro.

Eu imprimi mal, sobre o método, eu pretendia escrever um objecto de classe (afinal de contas é noite :) )

A *f() export { return new A; }

e não estou a contestar o que escreveu, estou apenas surpreendido, porque em ajuda diz sobre exportação apenas para funções, e acontece que também pode exportar objectos.

 
BaTTLeBLooM:

O que aconteceu ao MT5?

levantou-se de manhã e nenhuma EA no testador de estratégias está a funcionar. nenhuma posição em aberto...

Ontem à noite todos eles trabalharam ... hoje mais de 10 EAs deixaram de funcionar

tanto o antigo como o novo

Descrever o problema com mais detalhe. Que construção, que SO, taxa de bits? O que está nos registos do testador?
Razão: