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

 

Mais uma pergunta sobre a qual eu estava me perguntando ontem:

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

Qualquer pergunta de novatos sobre MQL4 e MQL5, ajuda e discussão de algoritmos e códigos

Mihail Matkovskij, 2022.01.15 13:57

Recentemente notei a seguinte característica

int array[];
Print(array.Size());

Dinamicamente, a matriz tem todas as características de um objeto (como em idiomas de nível ultra-alto). O que é então uma matriz estática?

P.S. Seria bom se pudéssemos definir o tamanho

array.Size(size);

ou

array.Size(size, reserve);

bem como

array.Reserve(reserve);
Mas ainda ninguém respondeu.
 
Mihail Matkovskij #:

Havia outra pergunta sobre a qual eu estava me perguntando ontem:

Mas ninguém respondeu.

Tais questões devem ser colocadas aos desenvolvedores do terminal. São eles que definem os conceitos e o caminho de desenvolvimento da linguagem e seus elementos

 
Mihail Matkovskij #:

Havia outra pergunta sobre a qual eu estava me perguntando ontem:

Mas ninguém nunca respondeu.

Por favor, note que se eu não souber nada sobre isso, não responderei. Mas é fácil adivinhar como os preços Ask e Bid entram no terminal. Os provedores de liquidez colocam suas solicitações de acordo com as mesmas regras que os comerciantes, ou seja, normalizadas a Dígitos(). Então de onde podem vir os valores não normalizados? Talvez você já esteja entusiasmado e não se lembra sobre o que foi a discussão? Deixe-me lembrá-lo, ninguém falou sobre a necessidade de normalização dos valores dos preços calculados, certamente é necessário. Mas você começou a afirmar que tanto os preços Ask como Bid deveriam ser normalizados.

Pare de jogar o fio na lama. Mentes imaturas podem acreditar em você. Como resultado, eles escreverão Expert Advisors tão lentos que os terminais começarão a pular carrapatos em lotes.

 
Nikolay Ivanov #:

tais perguntas devem ser feitas aos desenvolvedores do terminal. São eles que definem os conceitos e o caminho de desenvolvimento da linguagem e de seus elementos.

Ao menos alguém teria uma palavra a dizer sobre o assunto. Mas até onde posso dizer, muitas pessoas aqui só estão interessadas no corrico... Portanto, é compreensível que ninguém tenha respondido dessa maneira.

Minha opinião..: Todos os idiomas de alto nível têm variáveis com, identificador, tipo e área na memória para armazenar valor ou valores. Todos os idiomas de nível ultra-alto contêm variáveis de objeto. O C++ é uma linguagem de nível ultra-alto. MQL é uma linguagem baseada emC++. Mas notei uma característica de uma linguagem de super alto nível em MQL. Então eu tenho uma pergunta: o que é MQL?

 
Alexey Viktorov #:

Por favor, note que se eu não sei nada sobre isso, eu não respondo. Mas não é difícil adivinhar como os preços Ask e Bid entram no terminal. Os provedores de liquidez submetem seus pedidos de acordo com as mesmas regras que os comerciantes, ou seja, normalizadas a Dígitos(). Então de onde podem vir os valores não normalizados? Talvez você já esteja entusiasmado e não se lembra sobre o que foi a discussão? Deixe-me lembrá-lo, ninguém falou sobre a necessidade de normalização dos valores dos preços calculados, certamente é necessário. Mas você começou a afirmar que tanto os preços Ask como Bid deveriam ser normalizados.

Pare de jogar o fio na lama. Mentes imaturas podem acreditar em você. Como resultado, eles escreverão Expert Advisors tão lentos que os terminais começarão a pular carrapatos em lotes.

Exatamente, isso é "adivinhar". E você não sabe bem! Ou seja, nada mais é do que um palpite. Mas Nikolai, por exemplo, disse que pode vir com um erro. Pelo menos no testador. Mas eu nunca notei isso porque sempre normalizo os preços. Embora eu tenha sido pego pelodobro com um erro mais de uma vez, então não se pode saber tudo. As coisas simples são tão incompreensíveis para você?

Em relação à desaceleração da velocidade de execução com um NormalizeDouble adicional, é um problema tão grande, se você o ouvir, que provavelmente é pior do que operações de pixel ou alocação de memória... Você mesmo está confundindo os novatos. Ao ouvi-lo, eles evitarão usar oNormalizeDouble por gancho ou por vigarista.Não é aí que você está procurando lentidão!

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

Qualquer pergunta de novatos sobre MQL4 e MQL5, ajuda e discussão de algoritmos e códigos

Mihail Matkovskij, 2022.01.15 09:54

Além disso, algumas pessoas negligenciam controles tão simples como

if (name == NULL)
  return;

pensando que pode consumir muito tempo de processamento :)

Mas na verdade são funções como ObjectCreate e ObjectDelete que consomem tempo de processamento. Se um programador tem, digamos, um conjunto de objetos gráficos e ele é apagado e recriado a cada tic tac, algo deve ser feito a respeito. Enquanto as simples verificações e cálculos são de pouco tempo. É por isso que muitos programadores estão apenas procurando no lugar errado.


 
Mihail Matkovskij #:

Mas ele faz!

Eu vou alimentar o troll. Se você não é um mentiroso, me dê um argumento, onde está isso na documentação? Que são os preços recebidos, que por definição são normalizados aos dígitos, uma vez que o item não pode ser fracionário, que causam o erro.

 
Mihail Matkovskij #:

Não está arredondando, está cortando tudo em duas casas decimais.


Você fez uma bagunça neste fio com suas besteiras, e mentiu aqui mesmo. Você não cometeu um erro, você mentiu, porque apontou que não se trata de arredondamento.

 
Mihail Matkovskij #:

Exatamente, "adivinhando".


Bem, ninguém tem culpa de não ter lógica em seu arsenal. Você tem que colocar isso em sua documentação?

 
Intervalo
 
Artyom Trishkin #:
Intervalo

Qual é a pergunta?)

Razão: