APRENDER O TUTORIAL BÁSICO MQL5 – 93 VENTILADORES SIMPLES HIGH GANN

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

 

Com a MQL5 para Metatrader5 estamos a programar um Expert Advisor para Metatrader que é capaz de desenhar um objecto Gann Fan no gráfico forex.

Neste vídeo vamos criar um tal objecto aqui, o chamado Gann Fan, e queremos descobrir como fazê-lo com a MQL5. Para começar, por favor clique no pequeno ícone aqui, ou pressione F4 no seu teclado. Agora deve ver a janela do MetaEditor, e aqui quer clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar. Vou chamar a este ficheiro SimpleHighGannFan, clicar em continuar, continuar, e terminar.

Agora pode apagar tudo acima da função OnTick e vamos remover as duas linhas de comentário aqui. Vamos calcular o número de velas no gráfico, e isso pode ser feito utilizando o ChartGetInteger. O primeiro parâmetro é para o ID do gráfico zero, o segundo é chamado de gráfico primeira barra visível, e se marcar isso e premir F1 verá que retorna o número da primeira barra visível no gráfico, os últimos parâmetros para a sub janela. A que tem as velas é a janela zero.

Agora vamos criar uma variável para a vela mais alta, e também gostaria de criar uma matriz para os preços mais altos, chama-se High e conterá todos os preços mais altos para cada vela no gráfico. Primeiro, precisamos de usar o ArraySetAsSeries para ordenar a gama alta a partir da vela actual para baixo. E agora podemos usar uma função chamada CopyHigh, esta dar-nos-á os preços de barra mais altos para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico.

Queremos começar com a vela actual zero para todas as velas no gráfico e copiar os valores para a nossa gama alta. E agora podemos obter a vela mais alta usando esta função ArrayMaximum que nos dará o maior elemento da nossa gama. O array chama-se High, queremos começar a procurar a vela mais alta com vela zero e percorrer todas as velas no gráfico, e o resultado é o número da vela mais alta.

Também precisamos de utilizar MQLRates para outra matriz chamada informação de preços, porque MQLRates também armazena o tempo, e para cada objecto precisamos de saber o tempo e o valor para o desenhar. Vamos também ordenar este com ArraSetAsSeries da vela actual para baixo, e agora podemos preencher o array com dados usando CopyRates para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico, a partir da vela actual zero para todas as velas no gráfico que queremos armazenar a informação de preços no nosso array.

Antes de podermos criar um novo objecto, queremos utilizar ObjectDelete para o símbolo actual no gráfico e o objecto que se chama SimpleHighGannFan, utilizamos ObjectDelete para remover objectos antigos antes de desenharmos um novo. Este não será o caso, a primeira vez que chamamos esta função, mas depois temos sempre um objecto antigo que precisa de ser removido e para desenhar um objecto que usamos ObjectCreate.

O primeiro parâmetro, zero, é para o ID do gráfico, o segundo parâmetro é o nome do objecto. No meu caso, é SimpleHighGannFan. Basicamente pode usar qualquer nome que queira, mas precisa de usar exactamente o mesmo nome em todo o lado. O terceiro parâmetro é o tipo de objecto, utilizámos OBJ_GannFan, e se marcar isso e premir F1 verá que existem diferentes tipos de objectos. Usamos este, ele desenhará estas linhas no nosso gráfico das velas, queremos desenhá-lo dentro do gráfico principal com as velas, por isso é a janela zero.

O meu ponto de partida é o momento em que a vela mais alta dentro da nossa tabela de informação de preços foi desenhada, e gostaria de a ter pelo preço mais alto da vela mais alta. O segundo ponto no tempo será o tempo actual em que a vela actual zero é desenhada, e o valor será o preço mais alto da vela actual, e é tudo para a parte ObjectCreate. Claro que pode usar outros valores aqui, mas para este simples exemplo é suficientemente bom.

Agora vamos mudar algumas propriedades que podem ser feitas usando o ObjectsetInteger para o gráfico ID zero, eu gostaria de mudar uma propriedade para o objecto que se chama SimpleHighGannFan, a propriedade que eu quero mudar é a cor da propriedade do objecto, e eu gostaria de a mudar para laranja. Outra propriedade chama-se direcção da propriedade do objecto. A primeira parte é a mesma, mas desta vez queremos mudar esta propriedade e eu usei aqui a Gann Down Trend, que representa uma linha correspondente à tendência descendente.

Vamos modificar outra propriedade, esta chama-se escala de propriedade do objecto, e eu utilizei o valor de duas. E finalmente, a última, esta chama-se raio de propriedade de objecto direito. Eu defini-a como verdadeira, e será usada para desenhar a linha para a vela actual e para o futuro. Até agora tudo bem, se isto foi demasiado rápido para si, ou se não tem ideia do que todo o código aqui faz, talvez queira ver um dos outros vídeos desta série básica de vídeo, ou talvez até o curso premium no nosso website possa ser interessante para si.