Discussão do artigo "Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5" - página 8

 

Obrigado por este artigo.

Eu me senti perdido quando comecei a ver os exemplos de MQL5... depois de ler seu artigo, tudo ficou muito mais fácil de entender.

 

Ótimo artigo :-) Grazie :-)

Excelente artigo, obrigado :-)

 

Ótimo artigo,

Isso me ajuda a economizar mais de 3 meses, obrigado, estou indo para o seu próximo artigo relacionado (OOP)

espero ver um especialista em marcação de dinheiro e compartilhar com você, estou ansioso por esse artigo,

Mais uma vez, obrigado,

 
Também quero me tornar um programador da EA!
 
Obrigado. Artigo muito bom, talvez eu participe do campeonato de 2013.
 

Prezado Sam,

Já fiz o download do seu "my_first_ea" e experimentei, é muito bom. Muito obrigado!

Por causa do seu EA, estou interessado em criar um EA pela minha lógica, pois ele não pode ser negociado por mim mesmo. Desculpe-me, sou iniciante e não sei o que é código em mql basic.

Para sua informação, esse EA não apresenta erros nem avisos quando eu compilo, mas não consegue executar a negociação.

Poderia me ajudar, por favor?

Muito obrigado por sua ajuda

Arquivos anexados:
 
abolk:

Uma "abordagem" incrível é usada por programadores respeitados e experientes para "resolver o problema" dos 5 dígitos. E agora essa "abordagem" também é cultivada entre os iniciantes, na literatura educacional, podemos dizer.

A "abordagem" dada pelo autor anula completamente toda a vantagem dos 5 dígitos. Em vez de explicar a um iniciante que a introdução de uma cotação de 5 dígitos torna possível definir, por exemplo, um take profit não de 10 pips, mas de 10,5. E também explicar que, ao usar um Expert Advisor com uma cotação de 5 dígitos, é necessário especificar o take profit não em 10 pips, mas em 100. Em vez de tais explicações, são introduzidas linhas no código do programa que, programaticamente, não possibilitam o uso das vantagens das cotações de 5 dígitos.

"Precisamos ter certeza de que nosso EA funcionará corretamente com todas as corretoras". Bem, temos certeza, e depois? Como podemos usar a vantagem das cotações de 5 dígitos agora, se programaticamente o Expert Advisor foi "condenado a funcionar corretamente".

E se

_Digits==3

e depois, é tudo a mesma coisa ?

STP = STP*10; 

TKP = TKP*10;

E o que obtemos? Não é mais correto escrever?

STP = STP/10; 

TKP = TKP/10;

 

Por que o mesmo código é repetido duas vezes na função OnTick?

//--- Se o número de barras é suficiente para a operação
   if(Bars(_Symbol,_Period)<60) // O número total de barras no gráfico é menor que 60?
     {
      Alert("Em um gráfico com menos de 60 barras, o EA não funcionará!!!");
      return;

     }

e um pouco mais adiante

//--- Temos barras suficientes no gráfico para trabalhar?
   int Mybars=Bars(_Symbol,_Period);
   if(Mybars<60) // se o número total de barras for menor que 60
     {
      Alert("Em um gráfico com menos de 60 barras, o EA não funcionará!!!");
      return;
     }
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

E, para otimização, seria bom usar o ArrayResize para matrizes dinâmicas: https://www.mql5.com/pt/docs/array/arrayresize

E li outra coisa interessante na documentação:

Se a cópia de valores de séries temporais e indicadores tiver que ser feita com frequência, por exemplo, a cada chamada de OnTick() em Expert Advisors ou a cada chamada de OnCalculate() em indicadores, nesse caso é melhor usar matrizes distribuídas estaticamente, porque as operações de alocação de memória para matrizes dinâmicas exigem tempo adicional e isso afetará os testes e a otimização dos Expert Advisors.

https://www.mql5.com/pt/docs/series

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
No mql4, programei meus poucos ea em poucos dias, sem nenhum aprendizado, foi muito fácil. Conheço dezenas de linguagens de programação diferentes (java, c, php, outras linguagens menores ou desatualizadas). A linguagem do mql5 não é tão intuitiva quanto a do mql4. É uma pena que não haja conversor entre as linguagens. Tenho que respirar fundo e começar a aprender...