YuryK1980 #: 3. BuyLimit, справка по СTrade, говорит как раз, что это отложенный ордер на покупку по цене лучше рынка.
Вот и возникает путаница.
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
избавиться от этого можно только в новой версии, надеюсь MQ тайно занимается ей, багов и непонятных ситуаций с наследиями, новая версия думаю сильно ожидаема среди пользователей
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
А я, вот, использую CTrade в авто-торговле и никаких проблем не имею.
Возможно, просто не заметили.
Возможно, просто не заметили.
Возможно, возможно.
"Любая программа содержит хотя бы одну ошибку" - народная программистская мудрость))
Возможно, возможно.
"Любая программа содержит хотя бы одну ошибку" - народная программистская мудрость))
На форуме были примеры с CTrade.
А я, вот, использую CTrade в авто-торговле и никаких проблем не имею.
Ага, и каждый раз происходит вызов многочисленных проверок.
3. BuyLimit, справка по СTrade, говорит как раз, что это отложенный ордер на покупку по цене лучше рынка.
Вот и возникает путаница.
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
Вот и возникает путаница.
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
избавиться от этого можно только в новой версии, надеюсь MQ тайно занимается ей, багов и непонятных ситуаций с наследиями, новая версия думаю сильно ожидаема среди пользователей
Вот и возникает путаница.
Отложенный ордер, это ордер, который не сразу (может и сразу, зависит от цены) исполняется, а помещается в стакан цен, и если не исполнился полным объемом,
то продолжает стоять в стакане.
И его заливка должна иметь флаг ORDER_FILLING_RETURN
В СTarde, BuyLimit - это лимитный ордер, который имеет заливку SYMBOL_FILLING_IOC или SYMBOL_FILLING_FOK,
которые подразумевают обязательное снятие ордера.
Вы посмотрите исходник Trade.mqh куча лишнего, каждый раз повторяющегося кода.
Достаточно один раз, при инициализации, сделать необходимые проверки.
Откуда такая уверенность?
Есть же метод:
которым можно предварительно указать тип ордера по исполнению.
Вот так тоже можно:
CTrade::SetTypeFilling(ORDER_FILLING_RETURN)И тогда лимитный ордер будет залит по типу ORDER_FILLING_RETURN.
Откуда такая уверенность?
Есть же метод:
которым можно предварительно указать тип ордера по исполнению.
Вот так тоже можно:
И тогда лимитный ордер будет залит по типу ORDER_FILLING_RETURN.
Удивительная способность форумчан читать только последнее сообщение.
В коде топикстартера никаких инициализаций нет, значит IOC или FOK, а это не отложенный ордер.
Удивительная способность форумчан читать только последний топик.
В коде топикстартера никаких инициализаций нет, значит IOC или FOK
С этим согласен. Но всё же не такой уж и страшный класс CTrade из СБ. Имхо
Этот класс, как и многие другие, написан очень обще, под любые нужды и в нем слишком много лишнего используемого кода.
Вообщем для ленивых написан...
Добавлено
И не забывайте, что еще аттачится это
#include <Object.mqh>
#include "OrderInfo.mqh"
#include "HistoryOrderInfo.mqh"
#include "PositionInfo.mqh"
#include "DealInfo.mqh"
А нужна всего одна функция OrderSend() :)