Настройки Auto trading

Questions about QUIK trading plugin for Russian brokers and general MultiCharts questions can be asked here in Russian; they will be answered in Russian by our staff. No registration necessary.
mikkhasi
Posts: 11
Joined: 02 Jun 2014

Настройки Auto trading

Postby mikkhasi » 03 Jun 2014

Здравствуйте.

Где можно подробно узнать про вкладку настроек Auto trading?
Как именно происходит исполнение заявки Then Buy Next Bar O;?
У меня генерируется заявка не по цене открытия бара как указано в коде. Открылся бар, а заявка формируется с какой-то непонятной задержкой.
Вчера была ситуация, когда заявка в QUIK выставлялась несколько раз, вместо одного. В итоге пришлось остановить импорт транзакций и вручную исправлять все.

Сделки
Image
Текущие настройки Auto trading
Image
Attachments
Strategy Properties.jpg
Текущие настройки Auto trading
(215.41 KiB) Downloaded 1969 times
MultiCharts64 - Untitled Desktop - Positions online.jpg
Сделки
(102.54 KiB) Downloaded 1968 times

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Настройки Auto trading

Postby Henry MultiСharts » 03 Jun 2014

Добрый день, mikkhasi.

Про вкладку настроек Auto trading можно узнать из статьи Auto trading.
Как именно происходит выставление заявок можно узнать из данной статьи: How Signals are Calculated
Если у Вас будут какие то вопросы по просчету кода/генерации ордеров, пожалуйста, укажите резолюцию чарта и включен ли IOG.

AAY
Posts: 56
Joined: 29 Nov 2013
Has thanked: 9 times
Been thanked: 30 times

Re: Настройки Auto trading

Postby AAY » 05 Jun 2014

buy next bar o кидает заявку по маркету. Поскольку нативных маркетных заявок нет, их надо эмулировать. Эмулировать можно ставя лимитник на каком-то расстоянии от текущей цены или ставить лимитник по макс/мин возможной цене. Второй способ эмуляции это и будет по сути маркет.

Далее, по дефолту квик плагин использует первый способ, причём с нулевой разницей от текущей цены. Получается, что будет ставиться лимитник на текущей цене, который с высокой, но не 100% вероятностью будет зафиллен.

Настройки эмуляции стопов и маркетов выставляются отдельно для кажого чарта со стратегией. Зайдите на вкладку Auto Trading, внизу напротив Select Broker Plug-in (Quik) нажмите settings, там находятся вышеописанные настройки.

Если хотите, чтобы заявка исполнялась по маркету, ставьте по маркету. А вот если хотите, чтобы выставлялся лимитник именно по цене открытия бара, не уверен, возможно ли такое, не знаю. Самое близкое это buy next bar c limit - по цене закрытия предыдущего бара.

Кстати пожелание к Multicharts - нельзя ли добавить возможность установки дефолтного способа эмуляции маркетов и стопов. Иначе приходится для каждого чарта выставлять, иногда забываю это сделать для новых чартов.

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 05 Jun 2014

Действительно, buy next bar o; исполняется не по цене открытия и не сразу после закрытия бара, а через N секунд, причем каждый раз по разному...придется менять и тестировать такой вход buy next bar c limit;.

Настройки Select Broker Plug-in (Quik) - settings у меня стоит по дефолту все, т.к. не знаю как именно будет происходить исполнение, если у меня система как в шорт, так и в лонг открывается.

Интересно, как проходит исполнение, если используется несколько стратегий и в одно время будет сформировано 2 противоположных сигнала?

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 06 Jun 2014

Вчера попробовал поставить в настройках Select Broker Plug-in (Quik) - settings задать отступ лимитной цены, исполнение происходит по цене+заданное значение для лонга и для короткой по цене - заданное значение. Т.е. похоже на рыночную заявку. Хотелось бы задавать отрицательное значение, т.е. для лонга цена - заданное значение и наоборот для шорта.

buy next bar c limit работает как лимитка, как я и хотел. Но есть один недостаток, если проходит время и сделка не исполняется, то заявка не меняется. В настройках Unfilled Strategy Order Replacement была активирована опция.

Также сегодня были ложные трейды онлайн, причем по логике их в принципе в это время не может быть...В чем причина?

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 06 Jun 2014

Итак, в моменте у меня сложились такие вопросы:
1. Каким образом происходит исполнение, если одновременно формируется сигнал на вход по нескольким стратегиям?
Сегодняшний случай, у меня по логике должно быть сформировано 2 заявки по 10 лотов на закрытии бара, в реальности выставляется заявка одна и тут же отменяется, другая выставляется и после частичного исполнения аналогично отменяется. По факту я имею позицию в 2 лота, вместо 20. Каким образом это работает мне не понятно.

2. Как мне добиться чтобы лимитная заявка buy next bar c limit; в случае частичного или неисполнения, переставлялась по рыночной через определенное время?

3. Откуда ложные сделки появляются? По логике кода их не должно быть в принципе...

AAY
Posts: 56
Joined: 29 Nov 2013
Has thanked: 9 times
Been thanked: 30 times

Re: Настройки Auto trading

Postby AAY » 06 Jun 2014

Разные стратегии лучше разнести по разным чартам, тогда они будут работать полностью независимо.

Как работает исполнение на закрытии, не знаю, не пользуюсь.

Что касается вопроса 2, то в коде стратегии можно попробовать запрограммировать ситуацию с неисполненными ордерами, а с частично исполненными должна помочь опция "replace to market partially filled orders". Не пробовал, как работает.

Что касается ложных сделок, откройте orders and positions, там есть хорошая информация по ордерам, какие ордера с каких стратегий выставлялись, исполнялись или снимались, так же посмотрите в логи на другой закладке orders and positions.

У меня работает несколько десятков стратегий, все разнесены на разные чарты, ложные трейды случаются очень редко, и причина обычно такая: ставится лимитник на выход, по прошествии времени этот лимитник исполняется, и как раз в этот момент, но когда информация о исполнении ещё не пришла, происходит выход маркет ордером по времени. В итоге срабатывают оба выхода. Но тут уж ничего не поделаешь, специфика стратегии. Происходит это очень редко.

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 06 Jun 2014

Разные стратегии лучше разнести по разным чартам, тогда они будут работать полностью независимо.
Именно так и сделал, у каждой стратегии свой чарт. У меня есть стратегия, которая имеет схожие параметры, т.е. вход и выход в целом может совпасть по времени.
Вот скрин http://joxi.ru/XNSRUxjKTJBEHxOXI8w два сигнала от разных систем в одно время, стратегии на разных чартах.

Что касается ложных сделок, откройте orders and positions, там есть хорошая информация по ордерам, какие ордера с каких стратегий выставлялись, исполнялись или снимались, так же посмотрите в логи на другой закладке orders and positions.
Исполнялись ордера по системе, у которой по логике в это время не может быть входа из-за ограничения по времени.
Скрин ложной сделки http://joxi.ru/QNWRU_3JTJBiPCuOOrY открылась и закрылась по своей какой-то загадочной логике.

AAY
Posts: 56
Joined: 29 Nov 2013
Has thanked: 9 times
Been thanked: 30 times

Re: Настройки Auto trading

Postby AAY » 06 Jun 2014

По первому скрину - у вас было два лимитных входа по 10 контрактов, в итоге исполнилось 2. Проблемы с этим не вижу, если хотите, чтобы исполнялись все, попробуйте "replace to market partially filled orders" для частичных филлов, и дополнительное условие в логике стратегии для совсем не исполненных заявок. В обоих случаях в симуляции маркет ордеров либо поставьте отступ побольше, либо включите полную симуляцию маркет ордеров (лимитные заявки будут ставиться по мин/макс цене).

По второму скрину ничего сказать не могу. Я бы всё-таки предположил, что вы в чём-то не разобрались или что-то упустили. По своему опыту сужу — необъяснимых трейдов не видел. Если у вас включена эмуляция маркет ордеров с нулевым отступом, то такой ордер может остаться висеть не исполненным, не знаю, как Multicharts поступает с такими ордерами. По идее для движка Multicharts маркет ордер должен исполняться в какое-то разумное время, и движок не знает, что плагин квик его конвертирует в лимитник, который может не исполниться. Возможно, у вас такой лимитник и остался висеть и потом исполнился.

В общем, не рекомендую использовать нулевой отступ для маркет и стоп заявок, по-моему это самый неудачный вариант, к тому же не исключено, что он может нарушить логику работы стратегии.

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 09 Jun 2014

Кто в курсе, покажите, пожалуйста код, где вход и выход исполняется лимитной ценой с проверкой через N времени на исполнение/неисполнение. Если заявка частично исполнилась, остаток переставлять по рынку. Если не исполнилась, переставлять по рынку.
Спасибо.

dadyavasya
Posts: 1
Joined: 13 Jun 2014

Re: Настройки Auto trading

Postby dadyavasya » 13 Jun 2014

Здравствуйте. Спрошу здесь, т.к. вопрос тоже касается автотрейдинга. Есть реверсная стратегия. Состоит из двух сигналов. Один покупает, другой продает. При тестировании и оптимизации на истории все нормально: открывает позицию, держит ее, когда доходит до уровня переворота, то закрывает открытую позицию, и открывает новую в другую сторону на тот же объем. В реал тайме же позицию тоже открывает, но при перевороте просто закрывает позицию, новую не открывает в другую сторону.
В коде сигналов не прописано о закрытии позиций, но тем не менее на истории же они закрываются.

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Настройки Auto trading

Postby Henry MultiСharts » 18 Jul 2014

А вот если хотите, чтобы выставлялся лимитник именно по цене открытия бара, не уверен, возможно ли такое, не знаю. Самое близкое это buy next bar c limit - по цене закрытия предыдущего бара.
Действительно, buy next bar o; исполняется не по цене открытия и не сразу после закрытия бара, а через N секунд, причем каждый раз по разному...придется менять и тестировать такой вход buy next bar c limit;.
Если выключен IOG, то ордер сгенерируется на закрытии текущего бара, с ценой «Open текущего бара», пошлется на открытии следующего бара.
Если включен IOG, то ордер сгенерируется на тике, на котором выполнено условие генерации ордера, с ценой «Open текущего бара», пошлется на следующем тике.

Для отправки ордера с ценой “Open следующего бара” на следующем баре необходимо использовать следующую команду:

Code: Select all

buy next bar at open next bar limit;
Кстати пожелание к Multicharts - нельзя ли добавить возможность установки дефолтного способа эмуляции маркетов и стопов. Иначе приходится для каждого чарта выставлять, иногда забываю это сделать для новых чартов.
При создании нового чарта настройки должны загружаться из брокер профиля. Затем чарт можно настроить иначе в настройках авто торговли (Format->Strategy properties->Auto trading tab->Select broker plugin->Settings).
Интересно, как проходит исполнение, если используется несколько стратегий и в одно время будет сформировано 2 противоположных сигнала?
Если это ордера с двух разных чартов, то оба могут быть посланы на брокера. Подробности.
buy next bar c limit работает как лимитка, как я и хотел. Но есть один недостаток, если проходит время и сделка не исполняется, то заявка не меняется. В настройках Unfilled Strategy Order Replacement была активирована опция.
Если лимитного ордера не коснулась цена и/или он не начал заполняться, то отменить ордер можно только из кода (перестать его посылать на следующем просчете). Опции для отмены таких ордеров «в автоматическом режиме» нет. Работать с ордерами будет проще со следующей версии MultiCharts, когда будет реализован новый движок автоторговли/бэктестинга.
1. Каким образом происходит исполнение, если одновременно формируется сигнал на вход по нескольким стратегиям? Сегодняшний случай, у меня по логике должно быть сформировано 2 заявки по 10 лотов на закрытии бара, в реальности выставляется заявка одна и тут же отменяется, другая выставляется и после частичного исполнения аналогично отменяется. По факту я имею позицию в 2 лота, вместо 20. Каким образом это работает мне не понятно.
Все зависит от конкретной ситуации. Пожалуйста, опишите случай более подробно. С какого количества чартов были сгенерированы ордера? Прикрепите код и воркспейс, которые Вы используете.
2. Как мне добиться чтобы лимитная заявка buy next bar c limit; в случае частичного или неисполнения, переставлялась по рыночной через определенное время?
Кто в курсе, покажите, пожалуйста код, где вход и выход исполняется лимитной ценой с проверкой через N времени на исполнение/неисполнение. Если заявка частично исполнилась, остаток переставлять по рынку. Если не исполнилась, переставлять по рынку. Спасибо.
Есть несколько вариантов:
  • Включить опцию «Replace to Market Partially Filled Orders». Если есть частично заполненный ордер, на закрытии бара он будет конвертирован в маркетовый, который будет отправлен на открытии следующего бара. Но если этот ордер продолжает быть сгенерирован скриптом на следующем просчете, то конвертации не будет, будет посылаться оригинальный ордер с количеством не заполнившихся контрактов.
  • Включить опцию «Unfilled Strategy Order Replacement». При касании цены ордера рынком (на чарте или на брокере, зависит от опции Get Real-Time Data from) через указанный тайм аут ордер будет конвертирован в маркетовый. Если бар закрывается раньше, чем истекает тайм аут, то ордер будет конвертирован в маркетовый.
  • Проверять MarketPosition_at_Broker из кода, по условию переставать генерировать лимит и выставлять маркет.
3. Откуда ложные сделки появляются? По логике кода их не должно быть в принципе...
AAY правильно заметил: «необъяснимых трейдов не видел». Пожалуйста, исследуйте как работает Ваш код в момент возникновения ложных сделок. Если будут конкретные вопросы, пишите на support@multicharts.com
Здравствуйте. Спрошу здесь, т.к. вопрос тоже касается автотрейдинга. Есть реверсная стратегия. Состоит из двух сигналов. Один покупает, другой продает. При тестировании и оптимизации на истории все нормально: открывает позицию, держит ее, когда доходит до уровня переворота, то закрывает открытую позицию, и открывает новую в другую сторону на тот же объем. В реал тайме же позицию тоже открывает, но при перевороте просто закрывает позицию, новую не открывает в другую сторону.
В коде сигналов не прописано о закрытии позиций, но тем не менее на истории же они закрываются.
Какого брокера Вы используете? Прикрепите код и воркспейс, которые Вы используете.

AAY
Posts: 56
Joined: 29 Nov 2013
Has thanked: 9 times
Been thanked: 30 times

Re: Настройки Auto trading

Postby AAY » 19 Jul 2014

Кстати пожелание к Multicharts - нельзя ли добавить возможность установки дефолтного способа эмуляции маркетов и стопов. Иначе приходится для каждого чарта выставлять, иногда забываю это сделать для новых чартов.
При создании нового чарта настройки должны загружаться из брокер профиля. Затем чарт можно настроить иначе в настройках авто торговли (Format->Strategy properties->Auto trading tab->Select broker plugin->Settings).
У меня этого не происходит. В настройках брокера стоит "отсылать как рыночную"/"отсылать как стоп-лимит с отступом 50"; при создании нового чарта настройки всегда получаются "отсылать как лимит с отступом 0"/"отсылать как стоп-лимит с отступом 0". Каждый раз приходится исправлять.

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Настройки Auto trading

Postby Henry MultiСharts » 21 Jul 2014

У меня этого не происходит. В настройках брокера стоит "отсылать как рыночную"/"отсылать как стоп-лимит с отступом 50"; при создании нового чарта настройки всегда получаются "отсылать как лимит с отступом 0"/"отсылать как стоп-лимит с отступом 0". Каждый раз приходится исправлять.
Спасибо, проверим.

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 06 Aug 2014

Здравствуйте.
Решил снова попробовать перейти в авто режим, воспользовался советами и на выходе имею следующее:
Таймфрейм 15 мин
Настройки автоторговли
Image
Image

Использую в коде такой вход

Code: Select all

buy next bar at open next bar limit;
Далее 2 стратегии выставили заявки на покупку
Image

Скрин с квика заявок и сделок
Image

Image

Почему при включенной опции «Unfilled Strategy Order Replacement» и касании уровня заявки ценой, она не переставилась через заданный таймаут?

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Настройки Auto trading

Postby Henry MultiСharts » 06 Aug 2014

mikkhasi, какую версию MultiCharts и Quik plugin Вы используете? (пожалуйста, укажите номер билда).

mikkhasi
Posts: 11
Joined: 02 Jun 2014

Re: Настройки Auto trading

Postby mikkhasi » 06 Aug 2014

mikkhasi, какую версию MultiCharts и Quik plugin Вы используете? (пожалуйста, укажите номер билда).
Quik plugin версия 2.5.99
MultiCharts Build 8593

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Настройки Auto trading

Postby Henry MultiСharts » 07 Aug 2014

mikkhasi, если Вы не перезапускали МС с момента отправки этих ордеров, то, пожалуйста, пришлите логи MultiCharts (MultiCharts->Help->Feedback->Send Logs) и экспорт ордеров Order and Position tracker - вкладка Orders (правый клик по любой ячейке->Export to Excel).

Также, для дальнейшего анализа ситуации, я рекомендую включить логирование для Quik:
Закройте все процессы MultiCharts и Quik.
Запустите редактор реестра regedit.exe и откройте следующую ветку реестра:
HKEY_CURRENT_USER\Software\TS Support\DataServerQuik
В значении ключа LogSQLPath надо написать имя с полным путем файла, куда
сохранять лог всех SQL запросов.
Например: C:\Mclog.txt
Если такого пути нет или значение пустое, то лог отключается.
После включения логирования-запустите МС и Квик, разместите ордера как обычно.

Когда данное воспроизведется-пришлите мне файл C:\Mclog.txt на support@multicharts.com
А также архив всех папок (кроме папки Кэш) из данной директории
%USERPROFILE%\Local Settings\Application Data\TS Support\MultiCharts64
А также архив папки
%USERPROFILE%\Local Settings\Application Data\TS Support\DataServer Quik
И экспорт ордеров Order and Position tracker - вкладка Orders (правый клик по любой ячейке->Export to Excel).

Стоить заметить, что при торговле фьючерсами Квик не поддерживает маркетовые заявки. Только Лимиты и Стоп Лимиты.


Return to “MultiCharts QUIK”