Складывается впечатление, что разработчики в этом случае класс явно не дописали. Или я не прав?
Не правы.
//+------------------------------------------------------------------+ //| Send order | //+------------------------------------------------------------------+ bool CTrade::OrderSend(const MqlTradeRequest &request,MqlTradeResult &result) { bool res; string action=""; string fmt =""; //--- action if(m_async_mode) res=::OrderSendAsync(request,result); else res=::OrderSend(request,result); //--- check if(res) { if(m_log_level>LOG_LEVEL_ERRORS) PrintFormat(__FUNCTION__+": %s [%s]",FormatRequest(action,request),FormatRequestResult(fmt,request,result)); } else { if(m_log_level>LOG_LEVEL_NO) PrintFormat(__FUNCTION__+": %s [%s]",FormatRequest(action,request),FormatRequestResult(fmt,request,result)); } //--- return the result return(res); }
Просто вместо того, чтобы писать this.OrderSend, они пишут просто OrderSend, что вносит путаницу. Во многом по этой причине некоторые принципиально пишут this.
Как видите, только в этой функции идет вызов ::OrderSend - штатной функции.
Не правы.
Просто вместо того, чтобы писать this.OrderSend, они пишут просто OrderSend, что вносит путаницу. Во многом по этой причине некоторые принципиально пишут this.
Как видите, только в этой функции идет вызов ::OrderSend - штатной функции.
А... понял. Да уж... не могли придумать псевдоним, не дублирующий имя из глобальной области видимости.
Спасибо, вопрос снят.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Решил реализовать отправку асинхронных операций при помощи trade.mqh стандартной библиотеки. В ней за это действие отвечает флаг m_async_mode. С удивлением обнаружил, что он влияет далеко не на все методы. Т.е. даже если этот флаг установлен, OrderSendAsync() выполняться не будет (хотя, по логике, должна).
Список всех торговых операций - те из них, что используют OrderSendAsync()
//--- methods for working with positions
PositionOpen() - НЕТ
PositionModify() - НЕТ
PositionModify() - НЕТ
PositionClose() - Флаг используется, но не совсем понятно зачем (соображения безопасности?)
PositionClose() - НЕТ
PositionCloseBy() - НЕТ
PositionClosePartial() - НЕТ
PositionClosePartial() - НЕТ
//--- methods for working with pending orders
OrderOpen() - НЕТ
OrderModify() - НЕТ
OrderDelete() - НЕТ
//--- additions methods
Buy() - НЕТ
Sell() - НЕТ
BuyLimit() - НЕТ
BuyStop() - НЕТ
SellLimit() - НЕТ
SellStop() - НЕТ
Складывается впечатление, что разработчики в этом случае класс явно не дописали. Или я не прав?