Este erro ocorre porque após a eliminação do indicador da EA, a janela do gráfico onde estava BB, embora o possamos ver, mas na realidade já está eliminado. Para verificar isto, depois de executar o Expert Advisor, mude para outro perfil no terminal e depois volte (para o perfil antigo) e descubra que o gráfico se desceu como uma vaca.
A minha configuração:
2016.02.1118:47:04.915 Terminal MetaTrader 5 x64 build 1241 started (MetaQuotes Software Corp.)
2016.02.1118:47:04.915 Terminal Windows 10 Pro (x64 based PC), IE 11.63, UAC, Intel Core i3-3120 M @ 2.50 GHz, RAM: 785 / 3981 Mb, HDD: 68822 / 233310 Mb, GMT+02:002016.02.1118:47:04.915 Terminal C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\43 B472C43247368C5B97C7F22A1AE963
Obrigado por uma pergunta tão detalhada e bem escrita (já há muito tempo que ninguém escreve assim!).
Eis o que está a acontecer:
Adiciono manualmente o indicador BB do ...MQL5\Indicadores\Exemplos\BB.mq5.
Estou a gerir o Expert Advisor na mesma tabela. Acrescentei algumas alterações ao Expert Advisor: Recebo um erro
ERR_CHART_INDICATOR_CANNOT_DEL
4115
Erro ao apagar o indicador do gráfico
Este erro ocorre porque após a eliminação do indicador da EA, a janela do gráfico onde estava BB, embora o possamos ver, mas na realidade já está eliminado. Para verificar isto, depois de executar o Expert Advisor, mude para outro perfil no terminal e depois volte (para o perfil antigo) e descubra que o gráfico se desceu como uma vaca.
A minha configuração:
Ao executar o seu código no diário de bordo, recebo apenas:
Mas depois de mudar para outro perfil e voltar, a janela está ausente (embora as citações nele estivessem a mudar depois de adicionar um consultor especializado).
Significa que se trata de um insecto? Tanto quanto sei, a função ChartIndicatorDelete() não deve conduzir a tal comportamento anormal de um gráfico. É possível corrigi-lo?
Mas depois de mudar para outro perfil e voltar a janela está ausente (embora as citações nele estivessem a mudar após a adição do Expert Advisor).
Significa que se trata de um insecto? Tanto quanto sei, a função ChartIndicatorDelete() não deve levar a tal comportamento anormal de um gráfico. É possível corrigi-lo?
Sugeriram que mudássemos o modo do Expert Advisor entre Expert Advisor e Indicator a fim de termos um ficheiro. O mesmo produto será instalado em terminais diferentes.
Fiz uma troca. Mas o que aconteceu é o seguinte: se eu compilar o ficheiro mq4 na pasta Especialistas, o programa funciona apenas como uma EA, como um indicador (quando o copio para a pasta Indicadores) ele nem sequer está definido no gráfico. Mas se eu o recompilar nesta pasta, tudo está bem. O mesmo se aplica à EA, esta não será instalada se tiver sido compilada na pasta Indicadores. Por favor, diga-me qual é a razão para isso? O modo de compilação é rigoroso, não há erros.
Na última construção de MT5 1241 ChartIndicatorDelete a função "mexer" no gráfico. A carta não é redesenhada ao redimensionar, a carta não é guardada ao fechar o terminal, etc.
Isto já foi corrigido. Por favor aguarde pela próxima construção
Caros programadores, poderiam dizer-me se é permitida a repetição de funções e métodos de classe na MQL? Faço uma chamada recursiva de método e recebo um transbordo de pilha.
coderex: Caros programadores, poderiam aconselhar se é permitida a repetição de funções e métodos de classe na MQL? Estou a fazer uma chamada de método recorrente e a receber um transbordo de pilha.
É claro que é permitido. Caso contrário, não receberia um transbordo de pilha.
E o que esperava?
Controla de alguma forma a profundidade de recorrência?
Por favor, perdoe qualquer informação incompleta.
1. a informação está no separador Registo:
2. o indicador testado para remoção são as Bandas de Bollinger padrão:
- o ficheiro indicador está localizado em C:\Program Files\Alpari Limited MT5\MQL5\Indicators\Examples\BB.ex5;
- O ficheiro compilado é adicionado ao gráfico manualmente;
- ambos os ficheiros são anexados a este post.
3. Código completo do Expert Advisor que remove o indicador e sobre o qual o erro é detectado:
void OnInit(){
ChartIndicatorDelete(0,0,"Bollinger Bands");
}
Resultado do teste:
Após arrastar tal "Expert Advisor" (na aplicação - DeleteInd.ex5) no gráfico
As Bandas de Bollinger adicionadas manualmente ao gráfico são eliminadas mas o gráfico não é escalado depois disso quando o tamanho do gráfico muda.
Obrigado por uma pergunta tão detalhada e bem formatada (há muito tempo que ninguém escreve assim!).
O que se passa é o seguinte:
Recebo um erro
ERR_CHART_INDICATOR_CANNOT_DEL
4115
Erro ao apagar o indicador do gráfico
Este erro ocorre porque após a eliminação do indicador da EA, a janela do gráfico onde estava BB, embora o possamos ver, mas na realidade já está eliminado. Para verificar isto, depois de executar o Expert Advisor, mude para outro perfil no terminal e depois volte (para o perfil antigo) e descubra que o gráfico se desceu como uma vaca.
A minha configuração:
Obrigado por uma pergunta tão detalhada e bem escrita (já há muito tempo que ninguém escreve assim!).
Eis o que está a acontecer:
Recebo um erro
ERR_CHART_INDICATOR_CANNOT_DEL
4115
Erro ao apagar o indicador do gráfico
Este erro ocorre porque após a eliminação do indicador da EA, a janela do gráfico onde estava BB, embora o possamos ver, mas na realidade já está eliminado. Para verificar isto, depois de executar o Expert Advisor, mude para outro perfil no terminal e depois volte (para o perfil antigo) e descubra que o gráfico se desceu como uma vaca.
A minha configuração:
Ao executar o seu código no diário de bordo, recebo apenas:
2016.02.11 20:14:01.996 Experts expert DeleteInd (XAUUSD,M1) loaded successfully
Mas depois de mudar para outro perfil e voltar, a janela está ausente (embora as citações nele estivessem a mudar depois de adicionar um consultor especializado).
Significa que se trata de um insecto? Tanto quanto sei, a função ChartIndicatorDelete() não deve conduzir a tal comportamento anormal de um gráfico. É possível corrigi-lo?
Quando executo o vosso código, só o recebo no livro de bordo:
2016.02.11 20:14:01.996 Experts expert DeleteInd (XAUUSD,M1) loaded successfully
Mas depois de mudar para outro perfil e voltar a janela está ausente (embora as citações nele estivessem a mudar após a adição do Expert Advisor).
Significa que se trata de um insecto? Tanto quanto sei, a função ChartIndicatorDelete() não deve levar a tal comportamento anormal de um gráfico. É possível corrigi-lo?
Fiz uma troca. Mas o que aconteceu é o seguinte: se eu compilar o ficheiro mq4 na pasta Especialistas, o programa funciona apenas como uma EA, como um indicador (quando o copio para a pasta Indicadores) ele nem sequer está definido no gráfico. Mas se eu o recompilar nesta pasta, tudo está bem. O mesmo se aplica à EA, esta não será instalada se tiver sido compilada na pasta Indicadores. Por favor, diga-me qual é a razão para isso? O modo de compilação é rigoroso, não há erros.
Na última construção de MT5 1241 ChartIndicatorDelete a função "mexer" no gráfico. A carta não é redesenhada ao redimensionar, a carta não é guardada ao fechar o terminal, etc.
Isto já foi corrigido. Por favor aguarde pela próxima construção
A secretária aconselhou que deveria haver apenas um ficheiro,
Caros programadores, poderiam aconselhar se é permitida a repetição de funções e métodos de classe na MQL? Estou a fazer uma chamada de método recorrente e a receber um transbordo de pilha.
É claro que é permitido. Caso contrário, não receberia um transbordo de pilha.
E o que esperava?
Controla de alguma forma a profundidade de recorrência?
É claro que é permitido. Caso contrário, não receberia um transbordo de pilha.
O que esperava?
Controla de alguma forma a profundidade da recorrência?