Recomendação sobre forma de estudo

 

Boa noite pessoal, decidi que quero dominar eu mesmo a programação em MQL5 para conseguir criar os robôs que quero com total flexibilidade.

Comprei e li o livro "Expert Advisor Programming for Metatrader 5 - Andrew R. Young", ele já me ajudou bastante a entender o básico, saí do zero e criei alguns Eas e Indicadores, mas estou confuso que direção tomar agora.

Comecei a ler os artigos do site e de vez em quando eu tento programar algo e passo vários perrengues pra fazer o código funcionar e acabo aprendendo algo batendo cabeça.

Minha pergunta é, vocês que já são mais experientes, sabem qual caminho de aprendizado seria o mais eficiente para eu atingir meu objetivo de dominar a linguagem?

 
Michel Siqueira Reis:

Boa noite pessoal, decidi que quero dominar eu mesmo a programação em MQL5 para conseguir criar os robôs que quero com total flexibilidade.

Comprei e li o livro "Expert Advisor Programming for Metatrader 5 - Andrew R. Young", ele já me ajudou bastante a entender o básico, saí do zero e criei alguns Eas e Indicadores, mas estou confuso que direção tomar agora.

Comecei a ler os artigos do site e de vez em quando eu tento programar algo e passo vários perrengues pra fazer o código funcionar e acabo aprendendo algo batendo cabeça.

Minha pergunta é, vocês que já são mais experientes, sabem qual caminho de aprendizado seria o mais eficiente para eu atingir meu objetivo de dominar a linguagem?

Olá Michel,

Ler os artigos antes de se aventurar a programar algo novo é o caminho correto. E também, leia e estude cada linha do código dos outros... As abordagens adotadas pelo MQL para fazer as coisas muitas vezes soam bizarras e outras ao meu ver erradas, exemplo: NULL não é Nulo, é Zero (0) - Isso pra mim é inaceitável. E por aí vai...

Infelizmente, a partir do seu ponto, é aprendizado batendo cabeça... A linguagem MQL é cheia de furos e inconsistências em sua arquitetura. Um exemplo? Não existem Hooks para eventos idiotas como CopyTicks(), você pede os Ticks, se o MT5 não os tem já baixados/cacheados na plataforma ele vai solicitar pra corretora, porém, você não sabe quando a p*rra dos ticks chegarão... Você tem que montar uma parafernália de código adicional só para tratar essa situação. Com um Hook - que qualquer Linguagem de Programação que suporta Eventos possui - até o Visual Basic de 20 anos atrás suporta isso - isso seria mais rápido, fácil, eficiente em recursos, e o código ficaria muito mais limpo. (Eu sei, existem alguns Hooks no MQL, mas não são suficientes, muita coisa não tem Hooks/Event Handlers).

Use bastante o Fórum, pesquisando bastante antes de colocar uma pergunta - pesquis principalmente o Fórum Americano - alguém com certeza já passou pelo perrengue que você está passando hoje...

Última dica, programar EAs e Indicadores é completamente diferente, cada um com seus perrengues exclusivos. Pois a parte operacional (backend de um EA) tem seus desafios e a parte gráfica (frontend) tem outras particularidades... Outro exemplo? Estou programando um histograma ridículo que deveria levar 30 minutos, faz 2 dias que estou apanhando pra deixá-lo redondo. Este é inclusive o motivo de termos vários produtos por aí cheio de "problemas". Nem sempre é culpa dos desenvolvedores.

Boa Sorte na sua jornada!

;)

 
Flavio Jarabeck:

Olá Michel,

Ler os artigos antes de se aventurar a programar algo novo é o caminho correto. E também, o código dos outros...

Infelizmente, a partir do seu ponto, é aprendizado batendo cabeça... A linguagem MQL é cheia de furos e inconsistências em sua arquitetura. Um exemplo? Não existem Hooks para eventos idiotas como CopyTicks(), você pede os Ticks, se o MT5 não os tem já baixados/cacheados na plataforma ele vai solicitar pra corretora, porém, você não sabe quando a p*rra dos ticks chegarão... Você tem que montar uma parafernália de código adicional só para tratar essa situação. Com um Hook - que qualquer Linguagem de Programação que suporta Eventos possui - até o Visual Basic de 20 anos atrás suporta isso - isso seria mais rápido, fácil, eficiente em recursos, e o código ficaria muito mais limpo.

Use bastante o Fórum, pesquisando bastante antes de colocar uma pergunta - pesquis principalmente o Fórum Americano - alguém com certeza já passou pelo perrengue que você está passando hoje...

Última dica, programar EAs e Indicadores é completamente diferente, cada um com seus perrengues exclusivos. Pois a parte operacional (backend de um EA) tem seus desafios e a parte gráfica (frontend) tem outras particularidades... Outro exemplo? Estou programando um histograma ridículo que deveria levar 30 minutos, faz 2 dias que estou apanhando pra deixá-lo redondo. Este é inclusive o motivo de termos vários produtos por aí cheio de "problemas". Nem sempre é culpa dos desenvolvedores.

Boa Sorte na sua jornada!

;)

Opa, obrigado pela dica, estou ciente que a linguagem tem suas limitações, mas é tudo gratuito então sem problemas, vai se ajeitando aos poucos. Resumindo, sua dica foi: "continuar lendo os artigos e ler mais os fóruns".
Show de bola.


Alguém tem alguma informação mais específica?