Olá
pode ser o tipo preenchimento inválido. insere o código abaixo no OnInit(). Isso ajusta o tipo de preenchimento para o tipo que a corretora aceita.
int fill = (int)(SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE)); trade.SetTypeFilling((ENUM_ORDER_TYPE_FILLING)(fill == 0 ? 2 : fill - 1));
Olá
pode ser o tipo preenchimento inválido. insere o código abaixo no OnInit(). Isso ajusta o tipo de preenchimento para o tipo que a corretora aceita.
Muito obrigado Rogério, a mensagem no log diário permaneceu, mas a ordem foi executada corretamente.
Para essa mensagem não aparecer mais no log faz o seguinte:
- Menu Ferramenta / Opções
- Aba Notificações
- Desmarca Habilitar notificações via Push
Aqui essa mensagem sumiu depois que desabilitei as notificações.
Muito obrigado Rogério, a mensagem no log diário permaneceu, mas a ordem foi executada corretamente.
Ah,
depois do comentário do @Sérgio SantAnna fui reler sua postagem, de fato nada a ver com o FILLING MODE,
"invalid settings (notifications not enabled)", tem a ver com o comando SendNotification() e a notificação via PUSH não está habilitada ou MQLID errado.
Muito obrigado pessoal!
- 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
Olá a todos,
Estou tentando mandar uma ordem pendente através do MT5, mas estou enfrentando dificuldades.
As ordens funcionam muito bem na conta DEMO, e na conta REAL da corretora Rico. Porém, quando tento executá-las na conta REAL da corretora Modal as ordem ficam pendentes mas não são executadas quando o preço chega.
Mensagem de erro no log diário: "invalid settings (notifications not enabled)"
Sei que o points e o digits de cada corretora são diferentes, tentei fazer *_Point mas sem sucesso.
As ordens pendentes enviadas são :
"Os preços de entrada e stop são apenas para demonstração"
void buyStop(MqlRates &candle){
double entrada = NormalizeDouble(candle.high + 20, _Digits);
double stop_loss = NormalizeDouble(candle.low - 20, _Digits);
if(OrdersTotal() <=1 && PositionsTotal()<=1) {
trade.BuyStop(1,entrada,_Symbol,stop_loss ,0,0,0,0);
}
}