ThelUteam:
Возникла следующая проблема:
Как проверить направление последнего закрытого ордера(buy or sell) и открыть новый ордер в противоположную сторону?
D В каком терминале?
Возникла следующая проблема:
Как проверить направление последнего закрытого ордера(buy or sell) и открыть новый ордер в противоположную сторону?
Sergey Gritsay:
D В каком терминале?
MT5
D В каком терминале?
ThelUteam:
MT5
MT5
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void HistPosition_Type(string Symbols_,long &type_) { //--- request trade history HistorySelect(0,TimeCurrent()); //--- create objects uint total=HistoryDealsTotal(); ulong ticket=0; double price=0.0; double profit; datetime time=0; string symbol; long type; long entry; int latest_time=0; //--- for all deals for(uint i=0;i<total;i++) { //--- try to get deals ticket if((ticket=HistoryDealGetTicket(i))>0) { //--- get deals properties price =HistoryDealGetDouble(ticket,DEAL_PRICE); time =(datetime)HistoryDealGetInteger(ticket,DEAL_TIME); symbol=HistoryDealGetString(ticket,DEAL_SYMBOL); type =HistoryDealGetInteger(ticket,DEAL_TYPE); entry =HistoryDealGetInteger(ticket,DEAL_ENTRY); profit=HistoryDealGetDouble(ticket,DEAL_PROFIT); if(symbol==Symbols_) latest_time=(int)MathMax(time,latest_time); } if(time==latest_time) type_=type; } } //+------------------------------------------------------------------+
В МТ5 buy и sell - это трейды (часть позиции) или же сама позиция. Ордера - это отложенные ордера.
Нужно определить тип последнего закрытого трейда при существовании позиции по символу или тип последней существовавшей позиции при отсутствии оной?
lilita bogachkova:
Спасибо огромное, просто мне нужно выступить на конференции , а сам не справляюсь с советником)
ThelUteam:
Спасибо огромное, просто мне нужно выступить на конференции , а сам не справляюсь с советником)
Спасибо огромное, просто мне нужно выступить на конференции , а сам не справляюсь с советником)
Для показа на конференции код надо дополнить это я оставила для вас, но раз не справляетесь то:
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void HistPosition_Type(string Symbols_,long &type_) { //--- request trade history HistorySelect(0,TimeCurrent()); //--- create objects uint total=HistoryDealsTotal(); ulong ticket=0; double price=0.0; double profit; datetime time=0; string symbol; long type; long entry; int latest_time=0; //--- for all deals for(uint i=0;i<total;i++) { //--- try to get deals ticket if((ticket=HistoryDealGetTicket(i))>0) { //--- get deals properties entry=HistoryDealGetInteger(ticket,DEAL_ENTRY); if(entry==DEAL_ENTRY_IN)continue; price =HistoryDealGetDouble(ticket,DEAL_PRICE); time =(datetime)HistoryDealGetInteger(ticket,DEAL_TIME); symbol=HistoryDealGetString(ticket,DEAL_SYMBOL); type =HistoryDealGetInteger(ticket,DEAL_TYPE); profit=HistoryDealGetDouble(ticket,DEAL_PROFIT); if(symbol==Symbols_) latest_time=(int)MathMax(time,latest_time); } if(time==latest_time) type_=type; } } //+------------------------------------------------------------------+
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как проверить направление последнего закрытого ордера(buy or sell) и открыть новый ордер в противоположную сторону?