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

 
Por favor, diga-me, mql5, um consultor especializado às vezes precisa escrever um valor de tempo para lê-lo, mas pode haver um acidente, etc. e o tempo será apagado. Posso escrever data/hora em uma variável global no terminal, mas é o dobro, sem problemas? Obrigado!
 
Fast235 #:

Ajuda para os profissionais, é mais rápido pedir, ou seja, contratar um tutor por assim dizer. acredite, é mais barato e mais rápido.

mas você precisa de um profissional entusiasta para tutor, não apenas um profissional profundo, você precisa explicar a base corretamente e pronto. as outras 10k páginas. informações heterogêneas....

Obrigado pelo conselho!

 

Você pode me dizer qual é melhor:

Escreva tudo em um bloco OnTick ou separe-o por função? Ou seja, ter apenas chamadas de função no OnTick

(minha pergunta é principalmente sobre otimização de código e algumas perspectivas e armadilhas)
 
freelancerAntonyan variável global no terminal, mas é o dobro, sem problemas? Obrigado!
Nada será escrito no caso de um acidente, GV também. E, em princípio, não há problemas. Basta aplicar uma conversão de tipo explícita ao escrever e ao ler também.
 
freelancerAntonyan variável global no terminal, mas é o dobro, sem problemas, ou alguma outra forma é melhor? Obrigado!

qualquer tipo pode ser escrito e lido de volta a partir do dobro via sindicato.

 
Ivan Butko chamadas de função no OnTick(A questão é principalmente sobre otimização de código e quaisquer perspectivas e armadilhas)

As chamadas de funções são mais corretas.

Somente as funções devem ser logicamente completas e compreensíveis, para que você possa entender a lógica do OnTick a partir do código.

 
MakarFX #:
Dê-me o arquivo aqui. Isto é algo novo, eu ainda não ouvi isso.

Renomeie qualquer arquivo *.mq4 para qualquer extensão e tente compilá-lo, ele não funcionará, o compilador tentará compilá-lo como se fosse o MT5.

O que quer que eu tenha escrito lá dentro do arquivo, como(

#ifdef __MQL4__

#else

#endif

não funciona até que eu renomei o arquivo de volta para *.mq4.

Como contornar isso, alguém dos profissionais pode saber?

 
Valeriy Yastremskiy #:

As chamadas de funções são mais corretas.

Somente as funções devem ser logicamente completas e compreensíveis, para que você possa entender a lógica da operação no OnTick a partir do código.

Obrigado, quero dizer
 
Sergey Zhukov #:

Renomeie qualquer arquivo *.mq4 para qualquer extensão e tente compilá-lo, ele não funcionará, o compilador tentará compilá-lo como se fosse o MT5.

O que quer que eu tenha escrito lá dentro do arquivo, como(

não funciona até que eu renomei o arquivo de volta para *.mq4.

Como posso contornar isso, alguém dos profissionais pode saber?

Ele não compila nada!

Jogue o arquivo. você pode remover todas as funções dentro

 
Sergey Zhukov #:

Renomear qualquer arquivo *.mq4

Sergey, não sei bem porque renomear o arquivo, mas funciona da seguinte forma:


incluem1.mqh:

void go()
   {
   #ifdef __MQL5__
      printf("Это пятёрка");
   #else
      printf("Это четвёрка");
   #endif
   }

script1.mq4 e script1.mq5:

#include <include1.mqh>

void OnStart()
   {
   go();
   }


Entendi, esse é o problema:

__MQL4__

não existe tal coisa no idioma agora.

Razão: