Estou criando um serviço no MQL5 e percebi que quando coloco mais de duas médias moveis, trava no CopyBuffer.
Tem alguma forma de trabalhar com mais de duas médias sem dar problema?
mm_17_Handle = iMA(ativo,mm_tempo_grafico,17,0,mm_metodo,mm_preco);
mm_72_Handle = iMA(ativo,mm_tempo_grafico,72,0,mm_metodo,mm_preco);
mm_305_Handle = iMA(ativo,mm_tempo_grafico,305,0,mm_metodo,mm_preco);
if(mm_17_Handle<0 || mm_72_Handle<0 || mm_305_Handle<0){
Alert("Erro ao tentar criar Handles para o indicador - erro: ",GetLastError(),"!");
break;
}
//--- Alimentar Buffers das Velas com dados:
CopyRates(ativo,mm_tempo_grafico,0,1,velas);
// Copiar um vetor de dados tamanho três para o vetor mm_Buffer
CopyBuffer(mm_17_Handle,0,0,3,mm_17_Buffer);
CopyBuffer(mm_72_Handle,0,0,3,mm_72_Buffer);
CopyBuffer(mm_305_Handle,0,0,3,mm_305_Buffer);
// Ordenar o vetor de dados:
ArraySetAsSeries(velas,true);
ArraySetAsSeries(mm_17_Buffer,true);
ArraySetAsSeries(mm_72_Buffer,true);
ArraySetAsSeries(mm_305_Buffer,true);
Não sei o que você quer dizer com "serviço", mas a dica é, NUNCA confie no sucesso das operações.
Éisto que define um Indicador ou Expert Advisro minimamente seguro.
Você não está checando o sucesso de nenhuma das operações... Portanto, você está voando às cegas...
;)

- 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
Estou criando um serviço no MQL5 e percebi que quando coloco mais de duas médias moveis, trava no CopyBuffer.
Tem alguma forma de trabalhar com mais de duas médias sem dar problema?
mm_17_Handle = iMA(ativo,mm_tempo_grafico,17,0,mm_metodo,mm_preco);
mm_72_Handle = iMA(ativo,mm_tempo_grafico,72,0,mm_metodo,mm_preco);
mm_305_Handle = iMA(ativo,mm_tempo_grafico,305,0,mm_metodo,mm_preco);
if(mm_17_Handle<0 || mm_72_Handle<0 || mm_305_Handle<0){
Alert("Erro ao tentar criar Handles para o indicador - erro: ",GetLastError(),"!");
break;
}
//--- Alimentar Buffers das Velas com dados:
CopyRates(ativo,mm_tempo_grafico,0,1,velas);
// Copiar um vetor de dados tamanho três para o vetor mm_Buffer
CopyBuffer(mm_17_Handle,0,0,3,mm_17_Buffer);
CopyBuffer(mm_72_Handle,0,0,3,mm_72_Buffer);
CopyBuffer(mm_305_Handle,0,0,3,mm_305_Buffer);
// Ordenar o vetor de dados:
ArraySetAsSeries(velas,true);
ArraySetAsSeries(mm_17_Buffer,true);
ArraySetAsSeries(mm_72_Buffer,true);
ArraySetAsSeries(mm_305_Buffer,true);