Meu amigo, eu não sei exatamente o motivo, mas acho que posso te dar um caminho para você descobrir.
Por exemplo, no indicador MACD padrão do MT5 que vem como exemplo, o handle setado para trabalhar com as médias recebe uma função iMA() onde o parâmetro de suavização é MODE_EMA, ou seja, modo média móvel exponencial. Se alterarmos para MODE_SMA, modo média móvel simples, o indicador MACD da o mesmo erro que o seu indicador, o buffer recebe o valor "inf" e não aparece nada.
Ainda no MACD temos a função SimpleMAOnBuffer() para imprimir o sinal. Se alterarmos para ExponentialMAOnBuffer(), mesmo com o parâmetro de suavização setado como MODE_SMA, dai o indicador funciona.
Eu percebi que no seu indicador, sua função para gerar a média é baseada no cálculo da média móvel simples. Acho que o caminho pode estar se você se basear no cálculo da média móvel exponencial.
Desculpe não poder ajudar mais, ainda não tenho conhecimento técnico para lhe resolver isso, mas achei que essa observação é pertinente e talvez possa lhe ajudar.
Até mais!
Bom dia galera,
Estou criando no MT5 um indicador de Média Móvel Simples, mas aplicando a razão da porporção áurea de Phi.
As médias normais, elas iniciam com a razão 0.
Mas a que estou alterando é para que a média inicie com a razão de 1.618033988749895 que é a razão da porporção áurea.
Não descobri o motivo de não funcionar, se vocês puderem ajudar(o arquivo está em anexo).