Gente, sou novato, a intenção é que analise os 6 últimos candles do gráfico, se os 6 forem de alta ou de baixa, deixar um alerta sonoro.
void start ()
{
if(Close[1]<Close[2]<Close[3]<Close[4]<Close[5]<Close[6]){
Print ("COMPRA");
Alert("COMPRA");
}
else if(Close[1]>Close[2]>Close[3]>Close[4]>Close[5]>Close[6]){
Print ("VENDA");
Alert ("VENDA");
}
else (
Print ("AGUARDE") )
;}
wm,
Bacana, pois o início de tudo é mais ou menos por ai mesmo, apurando a "lógica" do código. Para estudar códigos é simples pra caramba, você aprenderá rapidinho (menos de 2 anos) mas para criar uma programação inteira você além de entender do código precisa entender de lógica. E sua lógica está indo por um caminho bom.
Vamos lá traduzir o que você digitou:
Quando você coloca Close >1, 2, 3.... você está dizendo que quer que o fechamento da nova Barra seja superior a anterior e assim sucessivamente. Neste caso não necessariamente quer dizer que uma sequencia de "alta" ou "baixa", pois pode haver um candle intermediário que não é maior que o anterior mas é a continuidade da alta/baixa. Então é bom comparar de outras formas também, por exemplo, se o candle 3 for menor que o 2 porém o 4 é maior que o 3 e o 2, a "alta" continua.... e assim sucessivamente...entre outras, mas vamos por parte né.
Outra coisa, CLose não é um comando de leitura de candle, então entendo que você ANTES de chegar nos "ifs" você já fez todo o processo de leitura dos candles e associou a VARIÁVEIS, ou a uma só Variável com Array. Caso não tenha feito, então estude esses tópicos que coloquei abaixo irão lhe ajudar.
https://www.mql5.com/pt/docs/series/iclose
https://www.mql5.com/pt/docs/array/arraysetasseries
https://www.mql5.com/pt/docs/series/copyrates
E dai você vai reconstruindo seu código.... vai aprendendo outras coisas que vai facilitar ainda mais tipo o comando "For" que vai lhe economizar um monte de if´s... enfim, tem um monte de coisas para aprender pelo caminho pela frente. A principal dica que dou é só use conta PRODUTIVA somente após você ter segurança e confiança que seus códigos estão absolutamente corretos.
Escrevi o acima porque entendi que você não tem uma "pergunta" específica e sim apenas colou seu código para verificarmos se está correto ou não. A resposta é não está correto o seu código, mas sua lógica está indo por um caminho quase correto :)
- www.mql5.com
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Gente, sou novato, a intenção é que analise os 6 últimos candles do gráfico, se os 6 forem de alta ou de baixa, deixar um alerta sonoro.
void start ()
{
if(Close[1]<Close[2]<Close[3]<Close[4]<Close[5]<Close[6]){
Print ("COMPRA");
Alert("COMPRA");
}
else if(Close[1]>Close[2]>Close[3]>Close[4]>Close[5]>Close[6]){
Print ("VENDA");
Alert ("VENDA");
}
else (
Print ("AGUARDE") )
;}