Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 389

 
pode haver 2 funções ônticas em um programa?
 
Максим Дмитриев:
pode haver 2 funções ônticas em um programa?
Não!
 
Максим Дмитриев:
pode haver duas funções ônticas em um programa?
Um.
Mas quem o impede de executar o OnTickOne(), OnTickTwo(), OnTickThree() personalizado, etc.?
 
Максим Дмитриев:    pode haver duas funções ônticas em um programa?

É fácil de verificar você mesmo.

É o segundo.

// Так работает, но вызывается только OnTick()
void OnTick()
{
  Alert("Вызов функции OnTick()");
}

void start()
{
  Alert("Вызов функции start()");
}
Se você deixar uma única função de partida, ela também funciona. Afinal de contas, começar é um nome obsoleto. O nome mais na moda é OnTick. A moda é estatisticamente uma ocorrência mais freqüente.
 
STARIJ:

É fácil de verificar por si mesmo

Juramento no segundo

Se você deixa uma função de partida, ela também funciona. Afinal de contas, começar é um nome obsoleto. Um nome mais na moda é OnTick. Moda - em estatística, significa mais freqüente.

Não se trata de moda. A questão é que em algum momento o suporte para funções obsoletas cessará. E os "mods" não sofrerão. Mas aqueles que ainda usam características obsoletas - eles irão corrigir tudo o que foi construído ao longo dos anos.

 
Artyom Trishkin:

Não se trata de moda. A questão é que, em algum momento, o apoio a características desatualizadas cessará. E os "mods" não sofrerão. Mas aqueles que ainda estão usando recursos ultrapassados - eles estarão corrigindo todos os anos de trabalho.

O que me pergunto é por que a CodeBase ainda aceita código usando aquelas funções de tratamento de eventos muito obsoletas, se elas podem ser desativadas um dia?

 
Alexey Viktorov:

Eu me pergunto por que a CodeBase continua a aceitar códigos que usam essas funções de tratamento de eventos desatualizados, se eles podem ser desligados em algum momento?

Quem sabe...? Pergunta para SD.

 
Alexey Viktorov:

O que me surpreende é por que a CodeBase continua a aceitar código usando aquelas funções de tratamento de eventos muito obsoletas se elas puderem ser desativadas um dia?

É muito simples. A julgar pelo exemplo, que contém tanto o start quanto o OnTick, eles são percebidos de forma diferente pelo compilador e são exibidos de forma diferente no código ex4. O executor do Ex4 também os distingue - o manipulador do evento OnTick é a função OnTick() e na sua ausência é a função start(). A eliminação da função start() exigiria o redesenho tanto do compilador (que está presente tanto no MetaEditor quanto no Terminal) e do executor no Terminal.

O resultado será uma redução minúscula do código MetaEditor e Terminator + novos erros. E uma montanha de gritos. Eles precisam disso?

 
STARIJ:

É muito simples. A julgar pelo exemplo que contém tanto o start quanto o OnTick, eles são percebidos de forma diferente pelo compilador e são exibidos de forma diferente no código ex4. O executor do Ex4 também os distingue - o manipulador do evento OnTick é a função OnTick() e na sua ausência é a função start(). A desistência da função start() exigiria o redesenho tanto do compilador (que está presente tanto no MetaEditor quanto no Terminal) e do executor no Terminal.

O resultado será apenas uma pequena redução de código no MetaEditor e Terminal + novos bugs. E uma montanha de choro. Eles precisam disso?

Não quero dizer como eles funcionam, mas por que aceitar tais códigos na CodeBase se eles podem parar de funcionar em breve.

 
Alexey Viktorov:

Não estou falando de como eles funcionam, mas por que aceitar tais códigos na CodeBase se eles podem em breve parar de funcionar.

Pensei ter explicado que eles funcionariam para sempre
Razão: