билд 1241. реальный счет. если установлен отложенный ордер и он частично исполнился, то при последующей его модификации состояние ордера не изменяется на ORDER_STATE_PLACED, а так и остаётся ORDER_STATE_PARTIAL.
Если, например, я сам это сделаю: открою реальный счет и выложу на форумы инвест-доступ к нему, чтобы все могли видеть реальный фид ФОРТС в реал-тайме и имели доступ к нормальному тестингу, то могут быть проблемы? Или все чисто?
Здравствуйте! А существует ли какой-нибудь простой шаблон торговой системы или пример советника для ФОРТС с учётом описанных в данной теме особенностей? Нужно чтобы он корректно работал с ордерами на ФОРТС.
Не разъяснено почему лучше, может в одних случаях лучше, в других лучше onTick. Нельзя ли поподробнее.
Автор в бане, и здесь ответа от него нескоро дождетесь.
Вот что я думаю по этому поводу:
Событие Tick приходит только когда меняется Bid, Ask, Last. Так же событие Tick накопительное (как говорили разработчики), за несколько изменений цены может придти один Tick.
Событие BookEvent приходит при любом изменении заявок в стакане и при совершении сделок. Событие BookEvent приходит гораздо чаще.
Если нет необходимости анализировать ликвидность в стакане, то лучше использовать OnTick().
На высоколиквидных инструментах событие BookEvent приходит очень часто, и если в обработчике есть тяжелые расчеты или несколько тяжелых индикаторов, будет работать как зацикленный.
Если в советнике присутствуют и другие обработчики событий например OnTimer, можно нарваться на пропуск этих событий. Про события OnTradeTransaction и OnTrade не знаю, возможно и их можно пропустить.
из справки:
Длина очереди транзакций составляет 1024 элемента. В случае, если OnTradeTransaction() будет обрабатывать очередную транзакцию слишком долго, старые транзакции в очереди могут быть вытеснены более новыми.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Часто используемые и полезные функции:
Проверка цены на лимиты сессии:
Часто используемые и полезные функции:
Переработанная функция GetPositionPrice():
Небольшая правка в функции (для универсальности)
вместо:
сделать так:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
А когда новая версия MT5 и где узнать что в ней ожидается
comp, 2016.03.21 08:52
Если, например, я сам это сделаю: открою реальный счет и выложу на форумы инвест-доступ к нему, чтобы все могли видеть реальный фид ФОРТС в реал-тайме и имели доступ к нормальному тестингу, то могут быть проблемы? Или все чисто?"Рекомендация:
При проектировании советников для ФОРТС не рекомендую использовать событие Tick, а
лучше воспользоваться событием BookEvent"
Не разъяснено почему лучше, может в одних случаях лучше, в других лучше onTick. Нельзя ли поподробнее.
"Рекомендация:
При проектировании советников для ФОРТС не рекомендую использовать событие Tick, а
лучше воспользоваться событием BookEvent"
Не разъяснено почему лучше, может в одних случаях лучше, в других лучше onTick. Нельзя ли поподробнее.
Автор в бане, и здесь ответа от него нескоро дождетесь.
Вот что я думаю по этому поводу:
Событие Tick приходит только когда меняется Bid, Ask, Last. Так же событие Tick накопительное (как говорили разработчики), за несколько изменений цены может придти один Tick.
Событие BookEvent приходит при любом изменении заявок в стакане и при совершении сделок. Событие BookEvent приходит гораздо чаще.
Если нет необходимости анализировать ликвидность в стакане, то лучше использовать OnTick().
На высоколиквидных инструментах событие BookEvent приходит очень часто, и если в обработчике есть тяжелые расчеты или несколько тяжелых индикаторов, будет работать как зацикленный.
Если в советнике присутствуют и другие обработчики событий например OnTimer, можно нарваться на пропуск этих событий. Про события OnTradeTransaction и OnTrade не знаю, возможно и их можно пропустить.
из справки:
Длина очереди транзакций составляет 1024 элемента. В случае, если OnTradeTransaction() будет обрабатывать очередную транзакцию слишком долго, старые транзакции в очереди могут быть вытеснены более новыми.
Автор в бане, и здесь ответа от него нескоро дождетесь.
Да давненько уже Михаила выпустили из бани... Вот, аву поменял.