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.
Com a MQL5 para Metatrader5 criamos um Expert Advisor para desenhar uma linha vertical sempre que uma venda é aberta ao mais alto das últimas 100 velas…
Neste vídeo vamos traçar linhas verticais sempre que abrirmos um comércio de venda, esta é porque calculámos que a última vela era a vela mais alta, por isso vamos descobrir como fazer isso com mql5.
Para começar, clique num pequeno ícone aqui ou prima F4 no seu teclado e aqui pretende clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar, vou chamar a este ficheiro linha vertical simples, clique em continuar, continuar e terminar.
Agora pode apagar tudo acima da função ontick e as duas linhas de comentário aqui, começamos com uma declaração de incluir o ficheiro trade mqh que contém uma classe chamada ctrade e vamos criar uma instância chamada trade.
Dentro da função ontick começamos por calcular o preço de compra que é feito usando o símbolo info double para o símbolo actual no gráfico, usamos o símbolo underscore bid e com normalizar os dígitos double e underscore calculamos automaticamente o número correcto de dígitos por detrás do ponto.
Vamos criar uma matriz para informação sobre preços que pode ser feita utilizando a função taxas mql, agora ordenamos a matriz a partir dos downloads de velas actuais utilizando o conjunto de matrizes como séries para a nossa matriz de informação sobre preços e com taxas de cópia preenchemos a nossa matriz para o símbolo actual e o período actualmente seleccionado com dados de preços a partir da vela actual zero. Queremos copiar os dados de preços para cem velas e armazená-los na nossa matriz de informação de preços.
Gostaria de vender quando tivermos a vela mais alta das últimas cem velas, por isso vamos criar uma variável chamada vela mais alta e também precisamos de criar uma matriz para os preços mais altos das velas. Vamos usar a matriz definida como série para essa matriz para também classificar esta da vela actual para baixo e para obter os preços mais altos usamos a cópia alta para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico para copiar os preços altos para cada vela começando com vela zero para cem velas e armazenamos esses valores na matriz alta. Isto torna possível obter a vela mais alta usando uma função chamada array máximo, isto dar-nos-á o maior elemento do nosso array no nosso caso que é o número para a vela mais alta e se a vela mais alta no gráfico for a vela actual e se o total de posições entregar um valor de retorno de zero que é quando queremos vender, então agora usamos trade dot sell para vender dez microlote.
Depois, gostaria de utilizar uma função definida pelo utilizador para desenhar uma linha vertical, mas antes de a codificarmos vamos adicionar uma declaração de comentário para produzir o texto, vela mais alta, seguida do número da vela mais alta das últimas cem velas que é a produção que se pode ver aqui mesmo.
Agora vamos descobrir como desenhar essa linha vertical!
A nossa função definida pelo utilizador não terá qualquer valor de retorno, por isso usamos aqui o vazio, não toma quaisquer parâmetros e começamos por usar o apagar objecto para o símbolo actual no gráfico para apagar a linha formal que desenhámos porque só queremos ver uma linha no gráfico, as outras linhas foram apagadas.
Depois, utilizamos o objecto criado para o símbolo actual no gráfico para criar um objecto que se chama linha, o tipo do objecto é object underscore v linha para linha vertical, se marcarmos isso e premirmos F1 veremos que existem muitos outros tipos de objectos aqui, o objecto será desenhado no nosso gráfico principal, usamos tempo corrente porque isso nos dará a hora do último tick recebido ou alteração de preço se quiser, se olhar dentro da referência mql5 verá aqui todas as descrições de parâmetros e podemos alterar algumas propriedades do objecto, por isso vamos fazer isso para a cor actual, usamos o inteiro do conjunto de objectos no gráfico principal zero para um objecto chamado linha, a propriedade para a cor e defini-lo como clr magenta. Se premir F1 verá que existem muitas cores predefinidas. Vamos também alterar a largura do objecto, no meu caso, vou configurá-lo para um e pronto.
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 primeiro um dos outros vídeos desta série básica de vídeos ou talvez até o curso premium no nosso website possa ser interessante para si. Isto foi na verdade uma sugestão de um membro do curso premium e se já é um membro do curso premium e tem uma ideia para um vídeo como este, por favor informe-me.
Por agora, clicamos no botão de compilação aqui ou pressionamos F7, não tenho erros e se for este o caso, pode clicar no pequeno botão aqui ou pressionar F4 para voltar a Metatrader.
E em Metatrader, clicamos em view, testador de estratégia ou premimos controlo e r, seleccionamos por favor o novo ficheiro, simples ponto de linha vertical ex5, marcamos aqui a opção para o modo visual e iniciamos um teste.