Remover Indicadores junto com Robô

 

Bom dia,

Estou começando com a programação do MT5 desenvolvendo um simples robô.

Ao inserir o robô na tela, ele plota alguns indicadores.

no OnInit

int OnInit(){

  Keltner_Handle   = iCustom(_Symbol, _Period, "::Indicators\\keltner_channel315.ex5", mediamovel_keltner, periodo_keltner, desvio_keltner);

  MM_Rapida_Handle = iMA(_Symbol, _Period, mm_rapida_periodo, 0, mm_rapida_metodo, mm_preco);

  MM_Lenta_Handle  = iMA(_Symbol, _Period, mm_lenta_periodo, 0, mm_lenta_metodo, mm_preco);

  Stochastic_Handle= iStochastic(_Symbol, _Period, 8, 3, 3, MODE_EMA, STO_LOWHIGH);

  ChartIndicatorAdd(0,0,Keltner_Handle); 
  ChartIndicatorAdd(2,0,Keltner_Handle); 
  ChartIndicatorAdd(3,0,Keltner_Handle); 

  ChartIndicatorAdd(0,0,MM_Rapida_Handle);

  ChartIndicatorAdd(0,0,MM_Lenta_Handle);   

  ChartIndicatorAdd(0,1,Stochastic_Handle);   


Depois eu libero noOnDeinit

void OnDeinit(const int reason){

  //---

  IndicatorRelease(MM_Rapida_Handle);

  IndicatorRelease(MM_Lenta_Handle);

  IndicatorRelease(Keltner_Handle);   

  IndicatorRelease(Stochastic_Handle);   

}

Eis a dúvida:
Mesmo eu removendo o robô do gráfico, os indicadores ficam plotados.
Como eu faço para quando o robô for removido, excluir os indicadores também.


 
Rodrigo Pagani:

Bom dia,


Bom dia,

para remover do gráfico use ChartIndicatorDelete(...).

para remover o handle e os buffers use IndicatorRelease(...);

 
Obrigado, deu certo.