APRENDER MQL5 TUTORIAL BASICS – 116 ENVELOPES SIMPLES VENDER TRAILING STOP

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 criamos um Expert Advisor for the Envelopes Indicator que é capaz de ajustar uma paragem de venda de acordo com o valor da banda superior do Envelopes.
Neste vídeo vamos criar um consultor especializado que é capaz de ajustar uma paragem de venda de acordo com a banda superior do indicador de envelopes. Vamos então descobrir como fazer isso com MQL5. Para começar, por favor clique no pequeno botão aqui ou prima F quatro no seu teclado. Agora deve ver a janela do Metaeditor e aqui quer clicar em File, new File, Expert Advisor from Template. Vou chamar a este ficheiro „Simple Envelopes Sell Trailing Stop“. Clique em continuar, continuar e terminar.

 

Agora pode apagar tudo acima da função Ontick e vamos remover as duas linhas de comentário aqui. Começamos com uma declaração para incluir o ficheiro trade.mqh. Este ficheiro faz parte da MQL5 e irá ajudar-nos a abrir uma posição de teste. Para isso, precisamos de criar uma instância da classe Ctrade e que será chamada trade. Precisamos de definir uma variável estática dupla chamada Last Stop envelopes valor.

 

Isto manterá o valor da última paragem de perda para cada vez que chamarmos a função. Também precisamos de calcular o preço de pedido e o preço de oferta. Isto pode ser feito usando o símbolo info double para o símbolo actual no gráfico. Ou usamos o símbolo underscore ask ou o símbolo underscore bid e com a normalização dos dígitos de duplo e sublinhado, certificamo-nos de calcular automaticamente o número correcto de dígitos por detrás do ponto. Para testar um trailing stop, precisamos de abrir uma posição de teste.

 

Por conseguinte, verificamos se o total de posições está abaixo de uma. Se isso for verdade, queremos repor o último valor para a perda do stop e defini-lo como zero e depois usamos Trade.sell para vender dez microlotes. Não o faria numa conta real, mas é para isso que servem as contas demo. Vamos continuar e criar duas matrizes para a matriz de bandas superior e inferior. Usamos o conjunto Array como séries para ambas as matrizes para as ordenar a partir da vela actual para baixo. E agora podemos usar a função Ienvelopes incluída para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico para calcular o indicador de envelopes para 14 velas. Não utilizamos aqui um valor de turno. O parâmetro seguinte é o modo SMA sublinhado, que representa a Média Móvel Simples. O resultado deve ser calculado com base no preço fechado e este último parâmetro aqui é para o desvio, que é o valor padrão. Se escolher uma janela de gráfico vazia e clicar em inserir, indicadores, tendência, envelopes, verá também este valor como um valor de desvio.

 

Aqui estão as 14 velas. Agora por favor clique em OK, clique com o botão direito do rato no gráfico. Seleccione Templates, guarde o modelo e guarde este como tester.tpl. Pode anular o valor actual. Tester.tpl é a vista que veremos quando iniciarmos o testador de estratégias.

 

Mas de volta à codificação. Continuamos usando o buffer de cópia para copiar dados de acordo com a definição de envelopes que criámos aqui, seja para o buffer zero ou para o buffer um, para o candle zero. Esta é a vela actual e queremos copiar os valores para três velas e armazená-los na matriz de banda superior ou inferior. É agora possível obter o valor actual para a vela zero. Já o comentei nesta versão, porque estou mais interessado nos valores para a vela antes. Essa é a vela um. Para obter o último valor da banda superior ou o último valor da banda inferior, vou olhar para o nosso conjunto na vela um e, com a normalização do duplo e vírgula seis, certifico-me de que o valor está a usar seis dígitos atrás do ponto. Porque é também isso que o indicador original dos envelopes irá mostrar. Agora podemos chamar uma função personalizada chamada CheckEnvelopesSelltrailingStop e passar o último valor de banda superior como um parâmetro. Esta função não existe, por isso precisamos de a criar em poucos segundos. A última coisa na função Ontick é atribuir aqui o valor da última banda superior ao valor dos envelopes da última paragem, porque precisamos disso na próxima vez que chamarmos a função.

 

Agora vamos criar de facto os envelopes de cheque de venda de trailing stop.