Торговый робот «SAR_BOT_NEW» для терминала QUIK

Робот разработан на языке QLUA для торгового терминала QUIK (КВИК).
Для QUIK версии 8.11 и выше.
Чтобы помочь в развитии начинающим трейдерам и Алготрейдерам сократить время, потраченное на поиск стратегий, мы предлагаем уже готовые запрограммированные торговые стратегии в виде Скриптов для терминала QUIK.
Я по себе знаю, как в самом начале своего пути тяжело, когда начинаешь изучать новую для себя тему, то просто голова идет кругом от огромнейшего потока информации. Не знаешь где взять нормальные проверенные временем торговые стратегии, не знаешь с чего вообще начать, чтобы создать своего первого торгового робота, да еще и такого, чтобы генерировал прибыль!
Мы Поможем Вам!!!
Для того, чтобы Вы могли эффективно и прибыльно торговать на бирже, а не вести торговлю совершенно непредсказуемым бессистемным образом. Мы подобрали для Вас уже проверенные временем и отработанные стратегии, вам не придется совершать ошибки и нести потери проверяя их. Мы это сделали за Вас!
Теперь график доходности ваших счетов будет неуклонно расти!!!
Мы предлагаем Вам Торгового робота «SAR_BOT»
Стратегия Трендовая с возможностью ограничения потерь и взятие прибыли во время флета
В основе работы Торгового Робота «SAR_BOT» лежит известный индикатор «Параболик САР или Parabolic SAR», разработанный Уэллсом Уайлдером, и используется для установки скользящих стоп приказов. Название SAR произошло от английского stop-and-reversal (остановка и разворот).
Индикатор ПАРАБОЛИК САР – один из самых точных инструментов технического анализа. Данный индикатор отлично подходит для выявления трендов, прекрасно работает на российском рынке, который отличается периодически возникающими устойчивыми трендовыми движениями цены. Индикатор показывает отличные результаты при длительной торговле.
Следует отметить, что данный индикатор применим ко всем рынкам и сегодня.
Используется Классическая Трендовая стратегия — реверсивная, когда индикатор параболик меняет свое направление, робот открывает позицию, также есть возможность задавать такие дополнительные параметры как:
1. Выход по Тейк-Профиту;
2. Выход по Стоп-Лоссу;
3. Перенос стопа в уровень безубытка;
4. Использовать Фильтр тренда и исключать лишние убыточные сделки в боковике;
5. Использовать еще один индикатор для выхода из позиции;
6. Ограничить время торговли;
7. Выбор направления торговли (Только Лонг, Только Шорт, Лонг-Шорт).
+ Робот может торговать и контртрендовый вариант, т.е. совершать противоположные сделки.
Инструменты: любые ликвидные фьючерсы срочного рынка и ликвидные акции Московской биржи.
Таймфрейм: подбирается индивидуально для каждой стратегии и каждого инструмента.
С помощью нашего Торгового робота «SAR_BOT» можно торговать более 8 разных подсистем:
1 Система торговли — это просто использование классических сигналов по Параболику — реверсивная торговля
В Квике добавляете индикатор Параболик.

Мы подобрали специально для вас самую простую в понимании, но в тоже время самую стабильную в долгосрочном плане стратегию, проверенную на реальном опыте.
Давайте посмотрим пример графика Дохода и результатов нашего робота по 1 Варианту!
График дохода торгового Робота «SAR_BOT» на инструменте фьючерс на валютную пару дол/руб. (Si).

2 Система торговли — это использование реверсивной торговли по Параболику с установкой Стоп-Лосса
С целью ограничения потерь, при резких движениях цены в обратную сторону от направления входа в позицию в роботе можно подключать параметр Стоп-Лосс, тем самым мы уменьшаем просадку.

График дохода и результаты торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
3 Система торговли — это использование реверсивной торговли по Параболику с установкой Тейк-Профита
С целью взятия прибыли на резких движениях цены в направлении открытой позиции в роботе можно подключать параметр Тейк-Профит.

График дохода торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
4 Система торговли — это использование реверсивной торговли по Параболику с одновременным использованием Тейк-Профита и Стоп-Лосса
С целью взятия прибыли на резких движениях цены, а также с целью уменьшения просадки, возможно установить сразу два параметра: Тейк-Профита и Стоп-Лосса.

График дохода торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
5 Система торговли — это использование реверсивной торговли по Параболику с установкой Стоп-Лосса в положительную зону (в Безубыток)
С целью защиты дохода от потерь, а также с целью уменьшения просадки, возможно установить функцию установки стопа в уровень безубыточности, т.е. в положительную зону.

График дохода торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
6 Система торговли — это использование реверсивной торговли по Параболику с использованием установки Стоп-Лосса и далее переноса стопа в положительную зону (в Безубыток)
С целью защиты дохода от потерь, а также с целью уменьшения просадки, возможно установить сразу два параметра — это Стоп-Лосс и Безубыток.

График дохода торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
7 Система торговли — это использование реверсивной торговли по Параболику с применением Тейк-Профита и установкой стопа в положительную зону (в Безубыток), когда цена проходит в сторону открытия позиции.
С целью взятия профита при резких движениях цены и с целью защиты дохода от потерь, возможно установить сразу два параметра — это Тейк-Профит и Безубыток.

График дохода торгового Робота «SAR_BOT» на инструменте Акция «Сбербанк».
8 Система торговли — это использование реверсивной торговли по Параболику с применением сразу всех доступных функций: Тейк-Профита, Стоп-Лосса, установкой стопа в положительную зону (в Безубыток), когда цена проходит в сторону открытия позиции, а также добавление Фильтра тренда.
С целью взятия профита при резких движениях цены, для защиты дохода от потерь, а также с целью ограничения потерь возможно установить сразу все три параметра — это Тейк-Профит, Стоп-Лосс и Безубыток, а также с целью фильтрации сделок в боковых движениях — Применение фильтра по направлению движения Простой скользящей средней со старшего таймфрейма.

График дохода торгового Робота «SAR_BOT» на инструменте фьючерс на валютную пару дол/руб. (Si).
Данный робот очень хорошо себя показал на довольно сложных периодах рынка.
Общее описание и сигналы робота «SAR_BOT» для терминала QUIK (КВИК)
Торговый скрипт «SAR_BOT» реализован на языке QLUA, работает на сигналах, встроенного в QUIK индикатора Parabolic SAR и индикатора фильтра (если используется) MA, EMA и др. (в зависимости от настроек в Квике), также имеется возможность закрывать сделки по сигналу с другого индикатора. Робот предназначен для использования в торговом терминале QUIK для торговли акциями на рынке ММВБ (TQBR), фьючерсами на рынке FORTS (SPBFUT).
Робот исполняет заложенный в него торговый алгоритм. Торговля ведётся двумя способами (тренд/контртренд).
Можно указывать направление торговли (глобальные фильтры направления) без перезапуска робота (клик). Это можно делать прямо в окне робота или в настройках робота перед запуском.
1. Только закрытие;
2. Только Short;
3. Только Long;
4. Long и Short.
В работе по трендовому алгоритму вход производится:
• в лонг
• в шорт
По контртрендовому алгоритму вход в позицию производится:
• в лонг
• в шорт
Этот индикатор не обязательно должен быть на том же графике, том же таймфрейме или инструменте что и тот к которому привязан робот.
Например, можно поместить скользящую среднюю SMA на крупном ТФ графика какого-нибудь индекса или просто другого инструмента. Для определения наклона линии используется значение индикатора на двух последних закрытых свечах графика, на котором находится индикатор. При наклоне линии вверх, разрешены только сигналы Long. При наклоне линии вниз, разрешены только сигналы Short.
Выход из позиции производится:
• при противоположном сигнале (переворот позиции);
• достижения ценой уровней Тейк-профита или Стоп-лосса;
• по безубытку;
• по времени окончания торговли;
• при нажатии на кнопку остановки и закрытия позиции в роботе;
• при включенной функции «Закрывать по сигналу с др.инд»
Сделки открываются лимитным ордером, который устанавливается в глубину стакана (фактически срабатывает как рыночный ордер), поэтому на очень слабо ликвидных инструментах запускать не рекомендуется, возможны большие проскальзывания.
Тейк -профит и стоп-лосс (также и безубыток) рассчитываются внутри робота (без выставления заявок в Квик), поэтому вы данные заявки можете не видеть на графике в КВИК, но при этом при касании ценой уровня стоп/ тейка, робот закроет позицию как и положено.
Таймфрейм для робота
Таймфрейм для робота определяется таймфреймом графика, к которому привязан робот. Изменять его во время работы робота не рекомендуется. На другом таймфрейме могут быть другие сигналы, вплоть до противоположных. Также во время работы робота нельзя переключать этот график на другие инструменты, потому как это приведёт к ошибочным расчётам внутри робота, из-за других данных с нового инструмента у индикаторов и цены самого инструмента, которая берётся из другого источника. Всё время работы робота, график должен быть открыт на том инструменте, который прописан у него в настройках.
Учет позиций робота
Робот ведёт собственный учёт позиции, поэтому сделки на том же инструменте одновременно с его работой ему не мешают. По сути, на одном инструменте можно запускать даже несколько копий роботов одновременно и с разными настройками (при условии, что они расположены в разных папках). При этом (в случае ручной торговли или запуска нескольких роботов на том же инструменте) нужно обращать внимание на достаточность средств для открытия роботом позиции выбранного вами объёма и выставления ордеров. Робот будет работать по своему алгоритму со своим значением позиции, не реагируя на то какая реальная позиция по данному инструменту в QUIK.
В таблице робота имеется кнопка сброса внутренней позиции (двойной клик). При этом закрытие позиции производиться не будет, а просто робот удалит из памяти текущее значение позиции (сбросит).
Описание окна основных настроек робота

1. Номер счёта. При записи Auto, выполняется авто определение. Если имеется несколько субсчетов, будет выбран первый из них. Можно указать самостоятельно. (Auto корректно работает для рынка FORTS).
2. Код клиента. Необходим при торговле акциями (TQBR). Для рынка FORTS можно не указывать.
3. Код класса. Доступен выбор из трёх рынков TQBR – акции, SPBFUT – фьючерсы FORTS и SPBOPT – опционы FORTS.
4. Код инструмента. При ошибке в написании, скрипт будет остановлен. Пример SiU5.
5. Рабочий объём (кол-во контрактов. Например, 1).
6. TP — Вирт. тейк профит от средней цены открытия позиции. В шагах изменения цены инструмента (1 шаг у фьючерса Si = 1 п; 1 шаг у фьючерса RTS = 10 п). При значении 0, тейк профит отключён.
7. SL — Вирт. стоп лосс от средней цены открытия позиции. В шагах изменения цены инструмента. При значении 0, стоп отключён.
8. Б/у старт – размер расстояния в плюс (сколько цена должна пройти в сторону открытой сделки от цены входа), до перестановки стопа в безубыток (Когда?). В шагах изменения цены инструмента. При значении 0 — безубыток отключён.
9. Б/у профит – отступ в плюс от цены входа (после как сработает перенос стопа в зону безубытка), для определения цены стопа в безубытке (Куда?). В шагах изменения цены инструмента.
10. «Проверка сигналов по свечам». Если поставить галочку в данном ЧекБоксе, то робот будет использовать сигналы по индикаторам только по закрытию свечи. Если убрать галочку в настройках, то сигнал будет считаться каждый тик и может наступить в момент касания цены и индикатора, что не всегда может привести к правильным сигналом, т.к. индикатор может то касаться цены, то возвращаться. Рекомендуем ставить Галочку в данной настройке!
11. Закрывать по сигналу с др. инд – включить или отключить сигналы с другого (третьего) индикатора для закрытия позиций.
12. ID инд.3 – Уникальный идентификатор индикатора в Квике (без кавычек). Пример ind_ID_3.
Как вариант для фильтра можно использовать индикатор на другом графике этого же инструмента с другим таймфреймом, либо вообще на другом инструменте. Важно: лучше использовать индикатор, где присутствует только одна линия, например RSI, MA, цена другого инструмента и т.д.
13. № DL – Номер линии данных индикатора или цены. У графика цены и простых однолинейных индикаторов обычно = 0, у более сложных может быть несколько, и важно указать нужный номер.
14. Условие для закрытия Лонга – Выбор из вариантов: >, >=, <, <=, =, ≠ .
15. Значение др. инд. для сравнения для закр. Лонга – Значение индикатора, к которому будет применяться условие для закрытия Long позиции.
Например, мы можем закрыть лонг, когда индикатор RSI станет меньше < 60. Или Линия MACD станет меньше < 0.
16. Условие для закрытия Шорта – Выбор из вариантов: >, >=, <, <=, =, ≠ .
Например, мы можем закрыть шорт, когда индикатор RSI станет больше > 40. Или Линия MACD станет выше > 0.
Тут можно применять и другие индикаторы со своими уровнями, а также закрывать при достижении ценой определенного уровня на графике.
17. Значение др. инд. для сравнения для закр. Шорта – Значение индикатора, к которому будет применяться условие для закрытия Short позиции.
18. Номер копии робота. Используется при запуске одновременно нескольких копий робота, для того чтобы trans_id их заявок гарантировано не совпадали. У запущенных роботов эти номера должны различаться!
19. Фильтр разрешённого направления торговли:
— Только закрытие — закрытие ранее открытой позиции;
— Только Short — разрешены только входы в шорт;
— Только Long — разрешены только входы в лонг;
— Long и Short — разрешены входы в лонг и шорт.
20. Выбор варианта стратегии торговли. По направлению движения индикаторов (Тренд) или против (Контртренд).
21. ID инд.1 – Уникальный идентификатор индикатора Parabolic SAR в квике (без кавычек). Пример, ind_ID_Si.
22. ID цены – Уникальный идентификатор графика цены в квике (без кавычек). Пример, price_ID_Si.
23. Использовать фильтр – включение/отключение фильтра сигналов разрешённого направления торговли (Long или Short) по индикатору (например, по MA).
24. Способ фильтрации по индикатору.
Прямой – при росте значений индикатора разрешён только Long; при снижении значений индикатора разрешён только Short.
Обратный – при росте значений индикатора разрешён только Short; при снижении значений индикатора разрешён только Long.
25. ID инд.2 – Уникальный идентификатор индикатора фильтра в Квике (без кавычек). Пример ind_ID_2. Как вариант для фильтра можно использовать индикатор на другом графике этого же инструмента с другим таймфреймом, либо вообще на другом инструменте. Если значение индикатора фильтра на последней закрытой свече больше, чем на предыдущей, то разрешается сигнал Long, если же наоборот значение индикатора фильтра на последней закрытой свече меньше, чем на предыдущей, то разрешается сигнал Short.
26. Start Time – Время начала работы робота, до указанного времени робот не будет осуществлять торговлю.
Stop Time – Время окончания работы робота, после указанного времени робот не будет осуществлять торговлю. Также в указанное время робот закроет открытые им позиции, поэтому, если хотите, чтобы робот переносил позиции на следующий день, то задавайте время окончания работы больше, чем работа биржи, например 23:55:00.
27. Сохранить – Кнопка сохранения настроек.
Описание окна запущенного робота


1. Адрес сайта источника, наименование робота, номер базовой версии, вид выбранной стратегии торговли и номер запущенной копии робота.
2. Код используемого инструмента для торговли.
3. Таймфрейм – определяется графиком на данных которого запускается робот. Во время работы робота строго НЕ рекомендуется переключать этот график на другой ТФ или тем более на другой инструмент. Так как информация, полученная с другого ТФ или другого инструмента, может привести к появлению ошибочных сигналов.
4. Разрешённое направление — Только закрытие ранее открытой позиции; разрешены только входы в шорт; разрешены только входы в лонг; разрешены входы в лонг и шорт.
Можно изменять во время работы робота (без его перезапуска). Для переключения достаточно кликнуть по ячейке один раз левой кнопкой мыши. Список переключается по кругу.
5. Рабочий объём – выбранный в настройках робота объём входа в позицию.
6. Значение индикаторов – значение индикаторов на последней закрытой свече и текущее направление индикатора фильтра, если используется, вместе с разрешённым направлением.
7. Take | Stop || Last — значения уровней тейка, стопа позиции и последняя полученная роботом цена инструмента.
8. Кнопка Сброс – сброс внутренней позиции робота. Робот удаляет из памяти текущую позицию (забывает о ней). Активируется двойным кликом левой кнопкой мыши.
9. Направление – текущее направление открытой позиции. Раскрашивается в красный при шорте и в зелёный при лонге.
10. Текущая позиция – индикация способа ведения позиции: Внутренняя – Robot; из квика – Quik.
Объём | средняя цена входа | текущий результат на 1к(л) | текущий результат на весь объём | индикация переключения стопа в режим безубытка. Окрашивается в зелёный (+) и красный (-) цвета, в зависимости от нахождения последней цены, в плюсовой или минусовой стороне от средней цены открытия. Округляется до 2-х знаков после запятой. Без учёта комиссии.
11. Кнопка управления “Закрыть и остановить” – при двойном клике робот останавливается. Рабочее окно робота остаётся открытым. Если при такой попытке остановки у робота была позиция, то он производит попытку её закрытия.
12. Файл лога – кнопка открытия в блокноте текстового файла лога.
13. Файл настроек – кнопка открытия программы редактирования файла настроек. Настройки принимаются после перезапуска робота.
14. Увеличить – кнопка увеличения на 1 объёма для последующей отправки заявки вручную из робота.
15. Объём – текущий объём для последующей отправки заявки вручную из робота.
Сброс значения – кнопка сброса этого значения объёма (двойной клик).
16. Уменьшить – кнопка уменьшения на 1 объёма для последующей отправки заявки вручную из робота.
17. Направление Long – кнопка отправки ручной заявки Long указанного объёма из робота (одинарный клик).
18. Направление Short – кнопка отправки ручной заявки Short указанного объёма из робота (одинарный клик).
19. Расширенный/сокращённый вид – при двойном клике закрывает таблицу текущей размерности и создаёт её заново в расширенном или сокращённом виде. Расширенный вид отличается возможностью ручной корректировки позиции в роботе.