Sergio Gelli:
Bom dia.
Uma forma seria guardar essa informação em uma variável global. Por exemplo:
datetime LastOrderTime = 0; //--- Variável global ... MqlTradeRequest Request; MqlTradeResult Result; ... if(!OrderSend(Request, Result)) {Print(Symbol(), " Error ", GetLastError());} else {LastOrderTime = TimeCurrent();}
Sergio Gelli:
Outra forma seria verificar os horários de todas as posições abertas:
int Cnt; ulong TICKET, MAGICNUM; datetime LastOrderTimeBuy = 0, LastOrderTimeSell = 0; //--- Checks positions for(Cnt = PositionsTotal() - 1; Cnt >= 0; Cnt--) { TICKET = PositionGetTicket(Cnt); if(TICKET > 0) { if(PositionGetString(POSITION_SYMBOL) == Symbol() && PositionGetInteger(POSITION_MAGIC) == MAGICNUM) { if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) { ... if(PositionGetInteger(POSITION_TIME) > LastOrderTimeBuy) {LastOrderTimeBuy = PositionGetInteger(POSITION_TIME);} ... } else if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) { ... if(PositionGetInteger(POSITION_TIME) > LastOrderTimeSell) {LastOrderTimeSell = PositionGetInteger(POSITION_TIME);} ... } } } }
Perfeito!!!! Muito obrigado
Sergio Gelli:
Bom dia,
Por favor, qual a função que retorna a hora em que a última ordem foi executada?
Bom dia,
Por favor, qual a função que retorna a hora em que a última ordem foi executada?
Olá Sérgio,
basta usar o OnTradeTransaction() como mostrado abaixo, o deal_time é a hora de cada preenchimento a ordem.
void OnTradeTransaction(const MqlTradeTransaction& trans, const MqlTradeRequest& request, const MqlTradeResult& result) { if(trans.type == TRADE_TRANSACTION_DEAL_ADD && trans.symbol == _Symbol && trans.deal_type < 2) { if(HistoryDealSelect(trans.deal)) { if(HistoryDealGetInteger(trans.deal, DEAL_MAGIC) == inpMagicNumber) { deal_time = HistoryDealGetInteger(trans.deal,DEAL_TIME); } } } }
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
Por favor, qual a função que retorna a hora em que a última ordem foi executada?