levifonseca:
Boa tarde.
Você pode, por exemplo, guardar a hora do candle em variável global sempre que abrir uma posição. Então, sempre que for abrir nova posição, verifica se hora do candle diferente da variável, se for igual não abre:
//--- Variável global datetime LastTradeTime = 0; //--- Antes de abrir verifica: if(LastTradeTime == iTime(NULL, PERIOD_CURRENT, 0)) { //--- não abre... } //--- Se abrir posição, guarda horário... if(!OrderSend(Request, Result)) {Print(Symbol(), " Error ", GetLastError()); return;} else {LastTradeTime = iTime(NULL, PERIOD_CURRENT, 0);}
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou programando um robo cujo critério de entrada é baseado no cruzamente de 2 médias móveis, mas diferente da grande maioria dos robos que possuem este parametro de entrada, gostaria que a ordem de compra/venda fosse ativada no exato momento em que as médias plotadas se cruzem.
Estou utilizando a função isnewbar para que ele não execute a logica caso pegue o take profit no mesmo candle, porém com isso ele está esperando fechar o candle assim que cruzar a media para entrar e precisaria que entrasse assim que ela se cruzassem.
O resultado é que assim que as médias se cruzam, de fato ele entra na operação, mas caso o take profit seja atingido no mesmo candle em que a operação é aberta, abre-se uma nova ordem, e eu gostaria que isto não acontecesse.
Alguem teria uma solução para me ajudar nesta questão em específico?
Obrigado
Att. Levi Fonseca