Erros, bugs, perguntas - página 1326

 
Alexander Laur:

Karputov Vladimir e Vladimir Zubov lêem sequer o que comentam? Ou o principal para si é expressar o seu respeito. Se não tiver compreendido o problema em questão, basta ficar de lado, talvez aprenda algo útil para si próprio.

A minha conversa com Renat sobre o TRABALHO INCORRETO DE FUNÇÕES !!!

Porque é que a função RIGHT (return(true)) devolve ZERO?

Como pode o valor de um tick ser igual a zero? Onde é que SymbolInfoDouble() obtém dados sobre o valor do tick, se este devolver o valor zero do tick?

Deve pelo menos compreender o que está a comentar.

Provavelmente não está muito certo sobre como funcionam as funções. A função:

  1. Retorna o resultado da sua execução correctamente. Usando a mercearia como exemplo. A tarefa da função é ir buscar o que está na caixa 5. Se a função foi para o armazém, encontrou a caixa #5 e sacudiu o que estava no seu saco, então a função devolverá "Tarefa completa com sucesso".
  2. A função não se importa realmente com o que ela tem na sua bolsa. Esse é agora o seu problema. Analisar exactamente o que a função trouxe para o saco.

Assim, o seu trabalho como programador é verificar dois resultados: se a função foi concluída com sucesso e o que a função devolveu. E não precisa de exigir do terminal o que quer ver. Basta fazer a coisa certa.

 

Resultado ambíguo

void OnStart()
{
        A a( 10 );
        {
                A a( a.c );             //здесь = не 10
                Print( a.c );
        }
        {
                A a = a.c;              //здесь = 10
                Print( a.c );
        }
}

Num caso, o resultado é: 10 e no outro: não 10. Qual é a diferença?

 
A100:

Resultado ambíguo

Num caso, o resultado é: 10 e no outro: não 10. Qual é a diferença?

lata :) o que há nos próprios métodos?
 
Konstantin Karpov:
lata :) o que há nos próprios métodos?

esqueceu-se de acrescentar :)

class A {
public:
        A( int b ) : c( b ) {} 
        int c;
};
 
Alexander Laur:

Está a escrever disparates. As funções são criadas para processar dados e obter os resultados desse processamento. Criar uma função apenas para a fazer funcionar. Estou sem palavras.

Vou desistir da discussão.

+

Estou a escrever um Expert Advisor de múltiplas moedas com a necessidade de sincronizar ferramentas e encontrei tais problemas que o meu cabelo está a rastejar por todo o lado.

De momento tenho de declarar - simplesmente não existe uma forma fiável de obter dados de mercado e ao mesmo tempo saber claramente que os dados estão actualizados.

O mais engraçado, e ao mesmo tempo chocante, foi que mesmo as bandeiras nas propriedades do símbolo como

SÉRIE_SINCRONIZADA

NÃO FAÇA GARANTIAS.

 
A100:

Resultado ambíguo

Num caso, o resultado é: 10 e no outro: não 10. Qual é a diferença?

Obrigado pela mensagem, vamos verificá-la/corrigi-la.
A propósito, em MSVC o resultado é o oposto.
 

Alguém sabe que SymbolsTotal(true) e os seus derivados não mostram qualquer informação do Market Watch?

Deviam tê-lo dito na ajuda, mas não, é um mistério...

 

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Lista de alterações no MetaTrader 5 Client Terminal builds

kogriv, 2015.07.18 10:44

Qualquer conselho sobre o que fazer. Havia um ficheiro - um guião em mql5, as últimas alterações foram em Março de 15. Há muito tempo que não toco no ficheiro e no meta-editor, depois de Março. No outro dia comecei o metatrader, actualizei-o e de alguma forma o ficheiro do guião (fonte) foi mudado para uma versão anterior. O ficheiro executável ainda se encontra na versão mais recente. Existe alguma forma de restaurar o ficheiro-fonte?

 

Deve usar o MQL5 Storage para guardar diferentes versões.

Muito provavelmente está a falar da modificação de ficheiros do conjunto padrão de scripts de terminal. São sempre sobrescritas durante as actualizações, por isso não as modifique você mesmo. É necessário fazer uma cópia com um nome diferente e modificá-lo.

 
Renat Fatkhullin:

Deve usar o MQL5 Storage para guardar diferentes versões.

Muito provavelmente está a falar de modificação de ficheiros do conjunto padrão de scripts de terminal. São sempre sobrescritas durante as actualizações, por isso não as modifique você mesmo. É necessário fazer uma cópia com um nome diferente e modificá-lo.

Não. O ficheiro não foi modificado a partir da entrega padrão e a MQL5 Storage não foi utilizada. O utilizador provavelmente entrou numa "Pasta de Dados" diferente - pelo menos essa é a versão mais viável até agora.