APRENDER O TUTORIAL BÁSICO MQL5 – 64 SIMPLES MULTI RSI

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 para negociar o Índice de Força Relativa que também é conhecido como Oscilador RSI e calcular os valores para diferentes períodos de tempo.

Neste vídeo vamos criar um consultor especializado para o indicador RSI, neste caso para múltiplos valores em diferentes períodos de tempo, por isso vamos descobrir como fazer isso com mql5.
Para começar, clique num pequeno ícone aqui ou prima F4 no seu teclado, agora deve ver a janela do Metaeditor e aqui quer clicar em ficheiro, novo ficheiro, consultor especializado do modelo, continuar, vou chamar a este ficheiro simples multi RSI, clique em continuar, continuar e terminar.
Agora pode apagar tudo acima da função ontick e vamos também remover aqui as duas linhas de comentário.
Começamos por incluir uma declaração para incluir o ficheiro trade dot mqh. Depois, vamos criar uma instância da classe ctrade, isto chama-se trade e vamos usá-la para abrir posições mais tarde.
Dentro da função ontick calculamos o preço de pedido e o preço de oferta que é feito usando o símbolo info double, para o símbolo actual usamos o símbolo ask ou um símbolo bid – tudo em maiúsculas – e com normalizar os dígitos double e underscore calculamos automaticamente o número correcto de dígitos atrás do ponto.
Depois, criamos uma string vazia chamada sinal, não atribuímos um valor aqui e agora precisamos de três arrays, um para o período de tempo actual no gráfico, um para o período de trinta minutos e um para o período de sessenta minutos.
Vamos definir o actual, isto é feito usando a função iRSI para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico. Queremos calcular o valor para catorze velas e o resultado deve ser calculado com base no preço de fecho.
Vamos usar a matriz definida como série para ordenar a matriz RSI para o valor actual, depois usamos o buffer de cópia para o valor actual que definimos aqui e armazenamos os valores na matriz actual RSI e depois, somos capazes de calcular o valor actual. Tudo o que precisamos de fazer é obter o valor para a vela actual zero da nossa matriz de corrente RSI e com normalizar o dobro, cortamos o resultado para mostrar dois dígitos porque é isso que o indicador RSI original também faz e é isso para o primeiro valor.
Agora repetimos todo o processo para obter valores durante trinta minutos, agora usamos a função iRSI para o símbolo actual no gráfico, mas desta vez vamos usar o período sublinhado m trinta e se marcarmos isso e pressionarmos F1 veremos que temos valores para todos os períodos de tempo possíveis aqui, este é para trinta minutos e este é para uma hora, portanto, por agora, usamos o período sublinhado m trinta. Mais uma vez usamos o conjunto de velas como série para classificar o conjunto RSI para trinta velas, depois usamos o buffer de cópia de acordo com a definição que criámos aqui e armazenamos os valores dentro do nosso conjunto RSI trinta e para calcular o valor RSI durante trinta minutos damos uma vista de olhos à vela zero dentro do nosso conjunto RSI trinta e mais uma vez usamos normalizar o dobro e cortar o resultado para ter dois dígitos atrás do ponto.
Para obter os valores durante uma hora voltamos a fazer o mesmo, isto já não deve ser surpresa, usamos apenas nomes de variáveis diferentes e desta vez usamos o período sublinhado h um, tudo o resto é basicamente o mesmo.
E se os três valores estiverem acima dos setenta, isso significaria que a linha indicadora azul aqui está acima da linha pontilhada superior para o nível dos setenta por cento, isso seria um sinal de venda e agora atribuiríamos a palavra vender ao nosso sinal.
Se todos os três valores estiverem abaixo dos trinta, consideraríamos isso como um sinal de compra porque isso significaria que a linha do sinal está abaixo da linha pontilhada inferior aqui e é aí que queremos comprar.
Assim, se o sinal actual for igual a vender e obtivermos um valor de retorno inferior a um para o total de posições, isso significaria que temos um sinal de venda e nenhuma posição aberta e agora usamos trade dot sell para vender dez microlotes.
Caso contrário, se o sinal for igual a comprar e não tivermos posições abertas, usaríamos trade dot buy e compraríamos dez microlote.
Finalmente, usamos a declaração de comentário para criar uma saída gráfica para o valor actual, o valor de trinta minutos e o valor de sessenta minutos e, abaixo disso, gostaria de ver o sinal actual e é tudo!
Bem, se não compreender o que todo o código aqui faz ou se isto foi demasiado rápido para si, 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, por enquanto, clicamos no botão de compilação, não deve receber nenhum erro e se for esse o caso pode clicar no pequeno botão aqui ou pressionar F4 para voltar a Metatrader.