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.
If you accept this notice, your choice will be saved and the page will refresh.
Este vídeo é sobre um Expert Advisor que é capaz de negociar o oscilador MacD e criar sinais de negociação automatizados no seu gráfico forex. Pode ser codificado em menos de 10 minutos.
Neste vídeo, vamos criar um Expert Advisor que vai de facto negociar o MACD.
O MACD é um oscilador e agora queremos automatizá-lo com MQL5.
Para o fazer clique no pequeno botão aqui ou pressione F4 no seu Metatrader, agora deve ver a janela do Metaeditor e aqui quer clicar: „File/ New File/ Expert Advisor (modelo)“ do modelo, „Continue“, eu chamarei este ficheiro: „SimpleMacDEA“, clique em „Continuar“, „Continuar“ e „Terminar“.
Agora pode remover tudo acima da função „OnTick“ e as duas linhas de comentário aqui.
Começamos por incluir o ficheiro: „Trade.mqh“, este dar-nos-á algumas funções de negociação, depois criaremos uma instância de „CTrade“ que será chamada: „trade“ e vamos utilizá-lo para abrir posições mais tarde.
Para podermos fazer isso, precisamos de calcular o preço Ask e o preço Bid que é feito usando „SymbolInfoDouble“ para o símbolo actual no gráfico, usamos „SYMBOL_ASK“ ou „SYMBOL_BID“ e com „NormalizeDouble“ e „_Digits“ certificamo-nos de que estamos a obter 3 ou 5 dígitos atrás do ponto, dependendo do par de moedas que usámos que possam ser diferentes.
Gostaria de criar um fio para o sinal que será chamado: „sinal“, não tem qualquer valor neste momento, precisamos de calcular esse valor mais tarde.
Vamos criar um conjunto para vários preços que serão chamados: „myPriceArray“, agora definimos as propriedades para o MACD Expert Advisor (MacDDefinition), MQL5 vem com uma função incluída chamada: „iMACD“, são necessários alguns parâmetros:
O primeiro é para o símbolo actual no gráfico,
A segunda é para o período que é seleccionado nesse gráfico,
Aqui temos 3 valores e o valor MACD deve ser calculado com base no preço fechado, por isso vamos descobrir o que significam estes 3 valores.
Em qualquer gráfico, clique em: „Inserir/ Indicadores/ Osciladores/ MACD“ e verá os 3 valores: 12, 26 e 9. 12 é o valor para a Média Móvel Exponencial Rápida (EMA Rápida), 26 é o valor para a Média Móvel Exponencial Lenta (SlowEMA) e há também um valor de 9 para a Média Móvel Simples MACD (MACD SMA), se estiver interessado na fórmula exacta poderá ir a sites como investopedia.com. O importante por agora é que os 3 valores são usados aqui para calcular um valor, usamos „CopyBuffer“ para copiar os dados de preços para a nossa matriz de preços (myPriceArray), fazemo-lo de acordo com a definição MACD (MacDDefinition) que criámos aqui para o primeiro buffer – chamemos realmente manteiga – começamos com a vela actual 0 (zero) e copiamos os valores para 3 velas.
De vez em quando as pessoas perguntam-me porque é que eu uso sempre 3 velas, bem isso é útil se se quiser calcular um valor cruzado e é muito mais rápido do que seria usar todas as velas no gráfico, para que possamos poupar algum poder de processamento aqui.
Agora posso obter o valor para o MACD analisando o valor da vela 0 (zero) da nossa tabela de preços (myPriceArray), para este exemplo simples vamos assumir que temos um sinal de venda sempre que o valor MACD (MacDValue) estiver acima da linha 0 (zero) – esta é a linha zero – e quando o valor MACD (MacDValue) estiver abaixo da linha zero que seria um sinal de compra e quando o nosso sinal for igual a vender e „PositionsTotal“ estiver abaixo de 1 – isso significaria que não temos posição aberta – usaríamos „trade“. Vender“ para vender 10 microlotes.
No outro caso, se o sinal for igual a comprar e não tivermos posições abertas, usaríamos „trade.Buy“ e compraríamos 10 microlote.
Finalmente, queremos criar uma saída gráfica, gostaria de ver o texto: „O sinal é agora:“ seguido do sinal que criámos. É tudo, por isso vamos clicar no botão „Compile“ aqui, tenho um aviso porque uso uma variável de flutuação aqui, esta dar-me-á menos dígitos atrás do ponto mas é mais rápida e é suficiente para o nosso exemplo simples aqui, por isso se não tiver nenhum erro pode clicar no pequeno botão aqui ou carregar em F4 para voltar a Metatrader.
E em Metatrader, clicamos: „View/ Strategy Tester“ ou carregue em CTRL e R, aqui quer escolher o ficheiro: „SimpleMacDEA.ex5“, marque aqui a opção de visualização e inicie um teste.
Agora deve realmente ver o MACD e aqui está a nossa primeira posição, está realmente a ser comercializado e neste pequeno vídeo aprendeu como automatizar o MACD e criar um MQL5 Expert Advisor que vai realmente comercializá-lo e codificou-o você mesmo com algumas linhas de código MQL5.