Você provavelmente tem um problema em uma seção do código que você não está postando. Eu aconselho que você dê uma olhada em alguns guias de estilo c já que seu código é difícil de ler, e devido à maneira estranha como você está usando chaves e recuos você eventualmente se enganará criando erros de aninhamento, que de outra forma seriam obviamente visível assim que você refatorar seu código. Aqui está um exemplo de seu código refatorado para torná-lo mais legível. Código inserido void OnTick () bool ma1 = iMA (_Simbolo, PERIOD_M15,50,0, MODE_EMA, PRICE_CLOSE, iBarShift (_Simbolo, PERIOD_M15, Tempo # 91; I # 93; -RRB-) gt; iMA (_Symbol, PERIOD_M15,100 , 0, MODE_EMA, PRICE_CLOSE, iBarShift (_Simbolo, PERIOD_M15, Hora # 91; I # 93; -RRB-); bool ma2 = iMA (_Simbolo, PERIOD_M15,100,0, MODE_EMA, PRICE_CLOSE, iBarShift (_Symbol, PERIOD_M15, Time # 91; I # 93; -RRB-) gt; iMA (_Simbolo, PERIOD_M15,200,0, MODE_EMA, PRICE_CLOSE, iBarShift (_Simbolo, PERIOD_M15, Hora # 91; I # 93; -RRB-); bool macd = iMACD (_Simbolo, PERIOD_M15,12,26,1, PRICE_CLOSE, MODE_MAIN, iBarShift (_Simbolo, PERIOD_M15, Tempo # 91; I # 93; -RRB-) gt; 0,0; bool sto1 = iStochastic (_Symbol, PERIOD_M15,3,1, 3, MODE_EMA, (int) sto_price, MODE_MAIN, iBarShift (_Simbolo, PERIOD_M15, Tempo # 91; I # 93; -RRB-) lt; sto_dn_levelM15; bool sto2 = iStochastic (_Simbolo, PERIOD_M15,3,1,3, MODE_EMA, (int) sto_price, MODE_SIGNAL, iBarShift (_Simbolo, PERIOD_M15, Hora # 91; I # 93; -RRB-) lt; sto_dn_levelM15; bool sto3 = iStochastic (_Simbolo, PERIOD_M1,3,1,3, MODE_EMA, (int) sto_price , MODE_MAIN, I) sto_ dn_levelM1; bool sto4 = iStochastic (_Simbolo, PERIOD_M1,3,1,3, MODE_EMA, (int) sto_price, MODE_SIGNAL, I) lt; sto_dn_levelM1; if (ma1 ma2 macd sto1 sto2 sto3 sto4) TEMPO_MINUTOS)); if (inpPush) SendNotifiion (alerta); if (inpAlert) Alerta (alerta); last_time = Hora # 91; 0 # 93 ;;