Erros, bugs, perguntas - página 2479

 
Ao compilar este sprint
void Func() { return(true); }

void OnStart()
{
  if (Func())
    ;
}


este registo.

'if' - expression of 'void' type is illegal     Test8.mq5       5       3
empty controlled statement found        Test8.mq5       6       5
'return' - 'void' function returns a value      Test8.mq5       1       15
2 error(s), 1 warning(s)                3       2


Destacou dois erros. É normal que eles não vão de cima para baixo na fonte?

 
fxsaber:
Ao compilar este sprint.


este registo.


Destacou dois erros. É normal que eles não vão de cima para baixo no código fonte?

Uma função nula pode devolver um valor?

void Func() { return(true); }
 
Alexey Viktorov:

Uma função nula pode devolver um valor?

O erro foi cometido especificamente para o exemplo. Estava a perguntar sobre outra coisa.

 
fxsaber:

Destacou dois erros. É normal que não passem de cima para baixo do código fonte?

Bem, pode descrever qualquer função no início do código MQL, bem como no final. A compilação será ainda construída de acordo com a lógica do fabricante do compilador e só o programador sabe o que constrói ali e em que sequência.

A web está cheia de artigos sobre compiladores, como eles constroem tabelas de links e como eles ligam...

Isto é um compilador, não um intérprete, certo? - No intérprete é como uma execução de comandos de cima para baixo ou a leitura da fonte por uma máquina


PS: pode verificar se o compilador não inclui tudo em código byte, escrever um código de teste, compilá-lo, ver o tamanho de .ex5 e depois adicionar a qualquer lugar (topo ou fundo) muitas funções diferentes e não as chamar - o tamanho do ex5 não deve mudar, eles não foram incluídos no ex5

 
Igor Makanu:

Bem, pode descrever qualquer função no início do código MQL assim como no final. A compilação ainda será construída de acordo com a lógica do compilador, e só o programador sabe o que constrói ali e em que sequência.

A web está cheia de artigos sobre compiladores, como eles constroem tabelas de links e como eles ligam...

Isto é um compilador, não um intérprete, certo? - No intérprete é como uma execução de comandos de cima para baixo ou a leitura da fonte por uma máquina


PS: pode verificar se o compilador não inclui tudo em código byte, escrever um código de teste, compilá-lo, ver o tamanho do .ex5 e depois adicionar em qualquer lugar (topo ou fundo) muitas funções diferentes e não as chamar - o tamanho do ex5 não deve mudar, eles não foram incluídos no ex5

Em cada erro há uma entrada sobre o número da linha e da coluna. Não importa a forma em que tudo se encontra dentro do compilador. Parece ter estado sempre a ordenar os erros pelo número da fila que é especificado.

 
fxsaber:

Parece ter sempre ordenado os erros por número de linha.

Nunca prestei atenção, sempre cliquei onde estava o erro, não parecia importar

 
Porque se perde a ligação com a MQ-Demo enquanto a MQ está a lançar um novo beta?
 
fxsaber:
Porque é que se perde a ligação ao MQ-Demo enquanto o MQ está a lançar um novo beta?
Mas é possível testar a perda de ligação ao servidor. É também muito bom que a negociação - a sua resolução do lado do servidor - seja frequentemente desligada/ligada. Também bom para testes. Também gostaria que alguns parâmetros da conta fossem alterados para trás e para a frente - seria óptimo para testes. Por exemplo, alavancagem, chamada de margem e níveis de paragem, etc...
 
Artyom Trishkin:
Mas pode testar a perda de ligação ao servidor. É também muito bom que a negociação - a sua resolução do lado do servidor - seja frequentemente desligada/ligada. Também adequado para testes. Também gostaria que alguns parâmetros da conta fossem alterados para trás e para a frente - seria óptimo para testes. Por exemplo, alavancagem, níveis de chamada e paragem de margem, etc.

Conseguem imaginar quanto ranho haveria por parte daqueles que não precisam de o testar? Eles não o vão entender.

 
Artyom Trishkin:
Mas pode testar a perda de comunicação com o servidor. É também muito bom que a negociação - a sua resolução do lado do servidor - esteja frequentemente desligada/ligada. Também adequado para testes. Também gostaria que alguns parâmetros da conta fossem alterados para trás e para a frente - seria óptimo para testes. Por exemplo, alavancagem, chamada de margem e níveis de paragem, etc...

Tudo isto pode ser feito através do testador personalizado.