Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 113
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Preciso que minha EA abra todos os pedidos (Vender e Comprar), mesmo que já estejam abertos e que não o faça quando todas as condições convergirem, mas na próxima vela!!! Ajude plz......I estou antecipadamente agradecido...
No momento eu tenho isto em meu código:
{
if(NewBar())
{
// algoritmo próprio etc.
}
}
bool NewBar()
{
data/hora estáticalastbar=0;
datetime curbar=iTime(Symbol(),0,0);
if(lastbar!=curbar)
{
lastbar=curbar;
return(true);
}
return(false);
}
}
Aqui está a função.
Apenas pensei que o problema não estava no código, pois não há erros no modo padrão.
De qualquer forma, ninguém parece responder...
De qualquer forma, ninguém parece estar respondendo...
Não parece haver nenhum erro na função que você postou. Estou confuso com o uso do OrderTicket()!=Ticket para peneirar pedidos adjacentes com o mesmo bilhete. Verifique e certifique-se de que não existem tais ordens. Se o (69,25) for especificado pelo compilador , observe a posição 25 da linha 69 - o erro está lá. Digite esta única linha.
Eu realmente me pergunto o que ele tem na linha 69
Phew, pensei que ninguém iria reagir.
Aqui está essa parte do código:
66 dupla Volatilidade(int _periodo){
67 soma dupla = 0;
68 for(int i=1; i<=_period; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 retorno(NormalizeDuplo(soma/_período, Dígitos))
71 }
Obrigado pela dica
Phew, pensei que ninguém iria reagir.
Aqui está essa parte do código:
66 dupla Volatilidade(int _periodo){
67 soma dupla = 0;
68 for(int i=1; i<=_period; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 retorno(NormalizeDuplo(soma/_período, Dígitos))
71 }
Obrigado pela dica.
Tudo está claro. O erro está na linha summ+=MathAbs(High[i]-Low[i]); contando 25 posições a partir da borda provavelmente retornará para High[i].
Eu escrevi Alert(Low[-1]); o compilador requer um número positivo. Eu escrevi int n=-1; Alert(Low[n]); - ao executar o Array fora de alcance. Mas como eu posso ???? talvez seja a falta de dados históricos? verificar o intervalo de datas de ... para ...
FAVOR INFORMAR QUAL O COMERCIANTE A ESCOLHER OU O NOME EXATO DO SERVIDOR
Phew, pensei que ninguém iria reagir.
Aqui está essa parte do código:
66 dupla Volatilidade(int _periodo){
67 soma dupla = 0;
68 for(int i=1; i<=_period; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 retorno(NormalizeDuplo(soma/_período, Dígitos))
71 }
Obrigado pela dica.
Parece que _período às vezes tem um valor maior do que itens de matriz. Daí a ultrapassagem da matriz.
Escolha uma das opções.