APRENDER O TUTORIAL BÁSICO MQL5 – 108 OSCILADOR IOBVEA SIMPLES

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 MQL5 para Metatrader5 criamos um Expert Advisor que é capaz de abrir posições de compra e venda com base em valores extremos de um oscilador…

Neste vídeo, vamos criar um Expert Advisor que é capaz de abrir posições de compra e venda com base em valores mínimos ou máximos deste oscilador aqui. Então, vamos descobrir como fazer isso com MQL5. Para o fazer, clique num pequeno botão aqui ou prima F4 no seu teclado. Agora, deve ver a janela do Metaeditor e aqui quer clicar em ficheiro. Novo ficheiro, Expert Advisor do modelo continua. Vou chamar a este ficheiro IOBVEA simples, clique em continuar, continuar e terminar.

Agora pode apagar tudo acima da função ontick e vamos também remover as duas linhas de comentário aqui. Começamos com uma declaração para incluir o ficheiro Trade.mqh. Este vem com algumas funções comerciais simplificadas e torna possível a criação de uma instância da classe Ctrade. Chama-se comércio e vamos utilizá-lo para abrir posições. Dentro da função ontick queremos criar uma variável string chamada sinal, mas não atribuímos um valor aqui.

Agora queremos calcular o preço Ask e o preço Bid. Isto é feito utilizando Symbolinfodouble para o símbolo actual no gráfico. Usamos ou o símbolo de sublinhado Ask ou o símbolo de sublinhado Bid. E com os dígitos de symbolinfodouble e underscore, certificamo-nos de calcular automaticamente o número correcto de dígitos por detrás do ponto. Vamos criar uma matriz para os dados de preços e utilizamos o ArraySetAsSeries para os ordenar a partir da vela actual para baixo.

E agora utilizamos IOBV para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico. O terceiro parâmetro é o volume tick. E esta função dar-nos-á o indicador de volume onbalanceado, que é um oscilador. Utilizamos o copybuffer para copiar dados para a nossa matriz de acordo com a definição que criámos aqui. Queremos fazê-lo para o buffer zero. Começamos com o actual zero vela e copiamos os dados para 100 velas para as armazenar na nossa matriz.

Agora podemos calcular o valor actual simplesmente olhando para a vela zero da matriz. Vamos calcular o número da vela que contém o valor mais alto. Isto é feito utilizando o máximo da matriz e o máximo da matriz fornecerá o número da vela na matriz actual, começando pela vela zero para toda a matriz que contém o valor mais alto. Existe uma função semelhante que é chamada de matriz mínima. Isto fará o mesmo e calculará o número da vela com o valor mínimo. E para obter realmente o valor, precisamos de obter o valor para o número da vela que acabámos de calcular.

Vamos repetir isso para o valor mínimo, para que possamos definir o sinal. Porque se o valor actual for maior ou igual ao valor máximo, consideramos que se trata de um sinal de compra. Assim, atribuímos a palavra comprar ao nosso sinal. Caso contrário, se o valor actual for inferior ou igual ao valor mínimo, consideramos que é um sinal de venda e agora atribuímos a palavra vender ao nosso sinal. Assim, se o nosso sinal for igual a venda e o valor de retorno para PositionsTotal for inferior a um, isso significaria que não temos ordens abertas e um sinal de Venda.

E é aí que usamos trade.Sell para vender 10 Microlot. Caso contrário, se o sinal for igual a comprar e não tivermos posições abertas, é aí que usamos o comércio.Comprar para comprar 10 Microlotes. Finalmente, queremos usar a declaração de comentário para produzir a corrente máxima e os valores MIN directamente no nosso gráfico. Portanto, é sobre isto que se trata. 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 da série básica de vídeo.

Ou talvez até o Curso Premium no nosso website possa ser interessante para si. É onde também pode encontrar aqui um link para cursos que contenham os códigos-fonte. Por agora, vamos clicar em Ver, barra de ferramentas e clicar em compilar ou carregar em F7. Isso deve funcionar sem erros, e se for esse o caso, pode clicar num pequeno botão aqui ou premir F4 para voltar a Metatrader. E no Metatrader, usamos um pequeno truque e clicamos em inserir, indicadores, volumes, no volume de balanço.

Iremos com os valores por defeito. Clique em OK, e aqui está o nosso oscilador. Agora, vamos clicar com o botão direito no gráfico, seleccionar os modelos, modelo seguro. E guardá-lo como tester.tpl . Pode anular o actual, porque o tester.tpl é o que vamos ver no próximo teste de estratégia, por isso vamos fazer isso.

E clique em View Strategy tester ou prima Control e R. Por favor escolha o novo ficheiro, simples, IOBVA .ex5, role um pouco para baixo e active o modo Visual aqui. E inicie o seu teste. Aqui estamos nós, o nosso Expert Advisor está a funcionar. Vêem que tenho aqui dois osciladores de balanço de volume, isto é, porque eu escrevi por cima do modelo Tester.tpl e neste pequeno vídeo aprenderam como calcular o valor mais alto e mais baixo para 100 velas de um oscilador.

E codificou-o você mesmo com algumas linhas de código MQL5.