Erros, bugs, perguntas - página 2338

 
pavlick_:

Parece ter havido uma mudança recente no comportamento. Há algum tempo atrás a ordem era diferente - variáveis globais e estáticas foram inicializadas na mesma ordem (em ordem de declaração). Isto é, neste caso, primeiro a e depois b. Pode estar errado, mas é improvável.

Antes de escrever isto - não era preguiçoso - verifiquei em MetaTrader 4 build 765x32 (MetaEditor build 1035x32) - tudo é o mesmo. E estamos em 2014 (!)
 
#define  M (a ? 1 : 0)

struct S {
   int a;
};

void OnStart()
{
   S s;
#define  a s.a
   Alert(M);
}

Não é possível compilar, erros:
a' - demasiado complexo, simplificar a macro temp.mq5 24 10
's' - membro estruturante indefinido temp.mq5 24 10
...

Isto é, o pré-processador parece estar a tentar expandir a recursivamente.

 

Será que é o corretor a fazer isto ou um insecto no mt 4?


 
A100:
Antes de escrever isto - não era preguiçoso - verifiquei em MetaTrader 4 build 765x32 (MetaEditor build 1035x32) - tudo é o mesmo. E estamos em 2014 (!)

Sim, enganei-me novamente.

 
Vladimir Pastushak:

Será que é o corretor que está a fazer isto ou algum insecto no mt 4?

Registar um sinal real nele, se passar então é um CD. Existem contas em cêntimos que são exibidas como normais (que muitos sinalizadores utilizam), mas tem uma opção mais fixe )))))

 

Começou a executar um monte de código de plataforma cruzada no MT4. Não existe um depurador lá? A sua execução na F5, mas não está a abrandar em lado nenhum.

Até agora, tenho de fazer a depuração abaixo dos 5 anos, o que é mutilante em alguns casos.

 

fxsaber: Стал много запускать кроссплатформенный код на MT4. Там отладчика что ли нет? Запускаю по F5, но нигде не тормозится.Пока приходится отладкой заниматься под пятеркой, что костыльно в некоторых случаях.

o ponto de quebra em MT4 é activado exactamente, no lado esquerdo do campo no meta-editor clique


 
Igor Makanu:

o ponto de quebra em MT4 funciona exactamente, no campo da esquerda no meta-editor clique

Executar.

 
fxsaber:

Executar.

Verifiquei, sim tem razão - o ponto de quebra não funciona em MT4 ao testar dados históricos, verifiquei a média móvel padrão EA - não funciona!

ZZY: Tentei adicionar DebugBreak() ao código - sem resultado, ainda não consigo parar o teste e sair para o depurador

ZZZY: Um ponto de ruptura ao testar dados reais, funciona

 
Igor Makanu:

ZZZY: ponto de ruptura ao testar dados reais, trabalhos

O meu também não funciona com dados reais.