Как написать торгового робота: инструменты для начинающих / Хабр

В этом разделе я буду выкладывать совершенно бесплатно все торговые роботы (СОВЕТНИКИ) и скрипты для терминала QUIK, для торговли на Московской бирже, FORTS

Содержание

Как написать программу

В QUIK предусмотрена возможность установки двух основных типов программ скриптов и торговых роботов:

  1. Программ написанных на языке QPILE;
  2. Программ написанных на языке программирования LUA.

На мой взгляд, наиболее простым вариантом является работа с программами на языке LUA. Область применения данного языка программирования не ограничивается только написанием программ для торговых терминалов, на нём пишут и компьютерные игры, и мобильные приложения, и много чего ещё. Но нас сейчас интересует его использование в контексте написания программ торговых роботов для торгового терминала QUIK. К слову сказать, используемая здесь разновидность данного языка часто именуется QLUA (Q от QUIK).

Программирование на LUA

Описать все особенности и синтаксические конструкции языка в рамках одной этой статьи конечно не получится, впрочем в этом и нет особой необходимости. Как я уже говорил, синтаксис здесь довольно простой и включает в себя все основные команды свойственные любому современному языку программирования. Есть, конечно, некоторые специфические моменты, но все они подробно описаны на многочисленных тематических ресурсах. Например здесь: https://forum.quik.ru/forum10/topic2029/

Я сильно не заморачивался ни синтаксисом, ни изучением языка, а просто сразу начал писать программу. По ходу необходимости, уточнял синтаксис той или иной необходимой мне команды через поисковики. Например запрос типа “оператор для открытия позиции в QLUA” подсказывал мне, что для данной цели необходимо использовать оператор  sendTransaction(), а запрос “синтаксис оператора sendTransaction() в LUA” выдавал в первой же позиции результатов поиска сайт содержащий ответ:

Результаты поиска

На этом сайте вы найдёте синтаксис всех команд языка с конкретными примерами их использования: http://luaq.ru/

А вот здесь вы найдёте полное руководство по азам программирования на LUA: https://lua.org.ru/contents_ru.html

Кроме этого есть ещё масса других ресурсов содержащих исчерпывающую информацию по данной теме.

Где писать программу. Какой редактор использовать?

Прелесть состоит в том, что для написания программ на QLUA можно обойтись штатными средствами Windows, без установки каких-либо специализированных редакторов. Вы можете писать и редактировать программу прямо в текстовом файле.

Для этого сначала создаёте обычный текстовый файл:

Открытие текстового документа

Затем сохраняете его изменив расширение с .txt на .lua. Для этого необходимо проделать следующий ряд нехитрых манипуляций:

  • В меню текстового документа “Файл” необходимо выбрать пункт “Сохранить как”
  • В выпавшем окне сохранения нужно вместо расширения “Текстовый документ” выбрать расширение “Все файлы”
  • К названию сохраняемого документа добавить .lua
  • Нажать кнопку “Сохранить”
Сохранение файла lua

Неудобство данного метода написания состоит в том, что без редактора невозможно скомпилировать файл и проверить его на наличие ошибок. Однако это не так критично, как может показаться на первый взгляд, поскольку наличие ошибок (а также их краткое описание) вам выдаст торговый терминал после того как вы попытаетесь запустить в нем программу. 

Ошибка в скрипте LUAПосле запуска программы терминал показывает в ней ошибку

После этого достаточно будет её отредактировать и запустить вновь. В том случае, если ошибок больше нет, окно “Ошибки выполнения скрипта” останется пустым, а программа начнёт работать (об этом будет свидетельствовать характерный значок “play” перед названием). После того, как заложенный в неё алгоритм отработает, она остановится. Если же она специально зациклена (работает на постоянное отслеживание текущей рыночной ситуации), то остановить её можно будет нажатием на кнопку “Остановить”.

Интерфейс окна LUA-скриптов в QUIKОсновной интерфейс

Как написать торгового робота. Инструменты и методы для MetaTrader

Что бы приблизиться в Вашей цели потребуется две вещи: информация и время.

Под информацией подразумевается тот материал, который Вам потребуется изучить, что бы в последствии сделать задуманное. Например, если Вы планируете создать торгового робота для FOREX , то советуем обратить внимание на абсолютно бесплатный обучающий видеокурс о MQL4.

Вам нужно будет время, поскольку информация сама в голову не залезет. Ее нужно туда положить. Примерно 2-3 недели по 1-2 часа и Вы будете писать торговых роботов своими рукам для терминала MetaTrader. В видеокурсе содержится полная информация обо всех аспектах программирования от А до Я.

Варианты создания роботов

Существует несколько вариантов создания роботизированного софта для торговли на бирже:

  • Создание роботов для работы на прямом подключении – такие системы работают «в обход» торговой системы брокера, отправляя заявки напрямую в «движок» торговой системы биржи. Этот вариант используют уже опытные трейдеры, которые готовы платить в том числе и за такой способ подключения.
  • Подключение к брокерской торговой системе по API. Некоторые брокеры позволяют подключать внешний торговый софт к своим торговым системам по специальным интерфейсам. Клиенты ITI Capital могут делать это с помощью API SMARTcom. В этом случае роботы могут быть достаточно сложными.
  • Автоматизация операций напрямую в торговом терминале. Наиболее простой, подходящий для новичков способ, заключается в том, чтобы автоматизировать торговлю напрямую в базовой программе любого трейдера – терминале.

Сегодня мы будем рассматривать третий вариант, поскольку он наиболее прост.

Разработку форекс робота начинаем с идеи

Разработка робота для торговли на рынках – это непрерывный поиск идей и, как частное, поиск Святого Грааля. Вопреки утверждениям непросвещенных граждан, Грааль находится достаточно просто – скажем «спасибо» технологическому прогрессу. Попробуйте вбить в гугл «Святой Грааль Форекс» – скорее всего, советник вашей мечты находится на первой странице выдачи, к тому же абсолютно бесплатен.

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

Написать форекс советника

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

Создание Торгового Робота – одно из направлений компании “KBrobot$”

Как разработать, создать (написать код) Торгового Робота для терминала QUIK, Метатрейдер 5 или любой другой торговой платформы, на которой Вы торгуете на бирже?

Насколько сложен сам процесс разработки и создания Торгового Робота или это под силам каждому начинающему трейдеру? Давайте попробуем ответить на эти вопросы подробнее.

Чтобы достигнуть поставленной задачи, необходимо придерживаться общей схемы создания Торгового Робота

СХЕМА РАЗРАБОТКИ ТОРГОВОГО РОБОТА

AmiSharp

3.8/5 оценка (27 голосов)

  • Версия: 1.2.0.1

Конструктор советников – не проходим мимо!

У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.

Для реализации простых вещей Мастер идеален. Вам не нужно обладать никакими магическими способностями – навыки программирования здесь не требуются. Несколько простых шагов, и советник готов. Уже готовый советник можно протестировать в том же терминале MetaTrader. Держите комбайн по производству простецких Граалей.

Торговля в терминале Quik

На картинках выше были показаны позиции по Сберанку. Для того, чтобы совершить торговое действие, необходимо выбрать нужный инструмент и нажать на нём правой кнопкой мыши, в выпадающем меню выбираем первый пункт – “Новая заявка”:

Торговля в терминале Quik

Далее откроется небольшое окошко, где мы указываем все параметры нашего ордера. Основное – это цена, по которой нас интересует покупка или продажа, а также объём сделки:

quik выставление ордера

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

  1. Исполнена. Это означает, что наше торговое действие совершено.
  2. Активна. Заявка зарегистрирована.
  3. Снята. Такой статус появляется в том случае, когда мы решили отменить заявку. Для того, чтобы это сделать, нужно кликнуть на заявку правой кнопкой мыши и в выпадающем меню выбрать “Снять заявку”:

снятие заявки

Чтобы выставить ограничение на убыток или вовремя зафиксировать прибыль, нам нужно добавить новую заявку. Кликаем правой кнопкой мыши и в меню выбираем “Новая стоп-заявка”. Она, хоть и называется стоп-заявкой, но предполагает разные условия, в том числе и на фиксацию прибыли:

стоп лосс в quik

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

стоп лимит в quik

Торговый робот своими руками легко и просто для QUIK

А что делать, если Вы торгуете на российском фондовом рынке в терминале QUIK. Тогда Вы можете пойти тремя путями.
1. Изучить язык QPILE. Потребуется около 2 месяцев обучения и обязательно хоть некоторый опыт по программированию
2. Изучить язык C#. Тогда потребуется около 3 месяцев обучения и нужен опыт работы программиста.
3. Использовать WEALTH LAB.

В последнем варианте сделать робота будет не так то и сложно. Времени для освоения знаний понадобится минимум. Дело в том, что WEALTH LAB специально предназначен для того, что бы трейдеры, неискушенные в программировании, смогли без проблем разобраться.

Вам остается теперь только действовать!

Лучшие инвестиции – это инвестиции в себя.

-Сергей Нехаев

Хочу программировать непростого советника? Написание технического задания

Итак, вы уже обладаете некоторым торговым опытом, вы проверили свою идею в торговле или имеете точное представление о том, как она будет работать на реальном рынке. Значит, пора переходить к написанию формальных правил вашей стратегии. Часто на этом шаге начинаются проблемы у большинства последователей гуманитарных наук – люди сталкиваются с непреодолимой стеной непонимания, когда абсолютно идеально отработанная в голове схема перестает работать при переводе на технический язык.

Написание ТЗ для робота

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

По сути, правильно составленное задание – это уже половина работы. Однако, это не работа программиста. Если вы будете просить программиста написать задание за вас, будьте готовы натолкнуться на непонимание, в лучшем случае, и негодование в абсолютном большинстве ситуаций. Именно разработчик идеи несет ответственность за ее точную формализацию, а никак не реализатор – если хотите, переводчик на язык низкоуровневых команд.

Напишите мне советник по индикатору

Пример плохого задания для создания торгового советника – его отсутствие. Само намерение заказчика может быть и понятно: есть индикатор, нужно написать торгового робота, ну а дальше что?

Как закрывать сделку? Как ее сопровождать? Какие выбирать объемы? Что делать с проскальзываниями и реквотами? Нужно понимать, что программист не обладает экстрасенсорными способностями. Если вы такого найдете, обязательно дайте знать, такие люди не должны пропадать.

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

Мораль: чем больше подробностей вы предоставите в задании, тем легче его будет понять, осмыслить и, в конце концов, реализовать.

Полезные ссылки по теме инвестиций и биржевой торговли:

  • Открыть брокерский счет онлайн
  • Тестовый счет с виртуальными деньгами
  • Софт для торговли на бирже: торговый терминал, мобильные приложения
  • Структурные продукты
  • Модельные портфели

Какие торговые роботы для Quik существуют сегодня?

Для сервиса Quik на сегодняшний день создано достаточное количество торговых роботов с самыми разнонаправленными принципами работы:

  1. BOT Trailing-stop Acceleration предназначен для совершения рискованных сделок. Торгует в агрессивном стиле
  2. BOT Smart SAR относится к трендовым индикаторам. Он легко определяет начало смены рыночной тенденции и осуществляет вход в рынок в самом начале тренда, охватывая, буквально, все его движение.
  3. BOT Level Breakout также трендовый индикатор, однако, он отличается от предыдущего своей большей прогрессивностью по причине его возможности определения волантильного состояния цены. Данный робот не открывает сделки, если рынок низковолантилен.

Выбор исполнителя

Если у вас нет опыта работы с фриланс-биржами, попробуйте представить себе субэкваториальную версию ада. На самом деле, не все так страшно, но некоторые нюансы все же стоит учитывать.

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

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

Реализация торгового советника

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

Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть .dll библиотека (.exe файл или .ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».

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

В этом разделе я буду выкладывать совершенно бесплатно все торговые роботы (СОВЕТНИКИ) и скрипты для терминала QUIK, для торговли на Московской бирже, FORTS.

Поэтому, уважаемые трейдеры, скачиваем, тестируем, наслаждаемся торговлей!

Все для терминала QUIK

Скрипты, Торговые роботы

Скачать индикатор

SChannel на LUA


SChannel — Помогает распознать фазы на рынке по методу Вайкоффа. Суть метода Вайкоффа состоит в том, что крупный игрок не может просто купить или продать по рынку столько актива, сколько ему нужно, поэтому он использует для набора позиций узкие зоны консолидации, а потом начинает толкать рынок в нужную ему сторону, где он скинет набранный объем.


В момент, когда крупный игрок набирает позицию, на рынке наблюдается фаза баланса. Можно получить логистический тренд с выраженными фазами аккумуляции, движения и дистрибуции. Распаковать в папку LuaIndicators и добавить индикатор.

Скачать индикатор

xsarATR на LUA


Индикатор по типу простого параболика с добавлением АТР. Показываем точки входа при изменении направления.

Скачать индикатор

уровней Мюррея (или Murrey Math Trading Lines) на LUA


Уровни Мюррея можно считать адаптацией квадрата Ганна, который большинству трейдеров кажется слишком уж запутанным и непонятным. Мюррей максимально упростил методику расчета ключевых уровней и в результате мы получили простой и удобный инструмент. Его действительно удобно использовать в работе. Описание индикатора тут!

Скачать индикатор

VWAP — Volume Weighted Average Price на LUA


Индикатор VWAP (Volume-Weighted Average Price) – Индикатор, отображающий средневзвешенную цену по объёму. Он представляет собой аналог скользящей средней, в котором усреднение цены производится на основании проторгованных за заданный интервал времени объемов. Описание индикатора тут!

Скачать индикатор

ATR на LUA


ATR — Средний Истинный Диапазон (Average True Range, ATR). Индикатор ATR отображает средний истинный диапазон движения эмитента. На рынке данный индикатор помогает трейдерам в расчете необходимого значения ордера Stop-loss, а также используется в позиционных стратегиях торговли. Описание индикатора тут!

Скачать Адаптер для связки терминала Quik и MarketDelta

Коннектор Quik + MarketDelta «Маркет Дельта» работает в связке с «КВИКом» в режиме реального времени. Вся история в ней сохраняется. Если у вас были пропуски в торговле, то пропущенные данные скачиваются бесплатно и через конвертор импортируются в «Маркет Дельту». Связка работает стабильно и без сбоев.

Скачать робота TRIX

Торговый робот TRIX для QUIK В основе робота лежит стратегия на
Индикаторе TRIX Робот входит в позицию Лонг, когда индикатор закрывается выше нулевой линии, либо заданного уровня, в шорт обратные условия. Закрытие позиции по Тейк Профиту, Стоп Лоссу либо по трейлинг стопу. Написан на языке QPILE.
Скачать робота помощника для QUIK

Пробои дневки Все знают, что при пробое каких-то значимых уровней, начинается движение в сторону пробития, особенно на рынке акций. Данный робот — помощник подсвечивает из списка акций те, которые пробили 30 дневный минимум или 30 дневный максимум, причем 30 — условно, можно поставить свое значение. Написан на языке QPILE.

Скачать робота помощника для QUIK

Обнаружитель ГЕПов на акциях Помогает трейдеру обнаружить из списка акций те, что открылтсь с ГЕПом, причем размер этого ГЭПа можно задать в процентном соотношении в настройках. Данный робот — помощник подсвечивает из списка акции, открывшиеся с ГЕПом. Написан на языке QPILE.

Скачать утилиту для QUIK

QCenter. Позволяет создавать МТС или Роботов для Quik на базе MetaStock.

Скачать робота для QUIK

QuikOrdersDOM. Робот-скальпер. Позволяет проводить быстрые заявки в Quik-е, заявки отправляются одним кликом.

Скачать утилиту для QUIK

Option Indicators.


модуль автотрейдинга для работы с опционами.

Скачать робота помощника Астрологический плагин

SkyQuant for AmiBroker


SkyQuant — plug-in для AmiBroker, позволяющий анализировать рыночные циклы и исследовать паттерны, основываясь на базовых принципах финансовой астрологии. Использование плагина как составной части высокопроизводительной платформы даёт возможность обрабатывать большой объём статистических данных, строить, тестировать и оптимизировать алгоритмические торговые системы. Основные характеристики SkyQuant: -Новый тип визуализации. -Быстрый расчет окружения для создания, тестирования на истории и оптимизации. -Широкий спектр доступных астрологических методов: аспекты, ингрессия, звездная коррекция, дома. В состав архива входит: — программа SkyQuant; — исходный код программы SkyQuant; — скрипт для автоматической отправки транзакций в торговый терминал QUIK.

КАК УСТАНОВИТЬ И ЗАПУСТИТЬ РОБОТА ИЛИ СКРИПТ В ТЕРМИНАЛЕ КВИК (QUIK)

ВСЕ МАТЕРИАЛЫ предоставлены для ознакомления, скачивание материала с целью дальнейшей продажи или распространения запрещено. ВСЕ МАТЕРИАЛЫ НА ДАННОЙ СТРАНИЦЕ САЙТА БЫЛИ НАЙДЕНЫ НА ПРОСТОРАХ ИНТЕРНЕТА И НАХОДИЛИСЬ В СВОБОДНОМ ДОСТУПЕ.

* Предупреждение о рисках: работа на финансовых рынках и использование кредитного плеча сопряжена с высоким уровнем риска и может привести к частичной или полной потере депозита. Начиная работу на финансовом рынке, убедитесь, что вы имеете достаточный уровень знаний и подготовки и полностью осознаете возможные риски. Любые рекомендации предоставлены в качестве рыночных комментариев, и не являются советом по инвестициям. Компания DayTradingSchool.ru не несет ответственности за любые потери или убытки, которые могут возникнуть прямо или косвенно от использования предоставленной информации и программ.

Если возникнут сложности, обращайтесь в скайп Школы DayTrader1982 или e-mail
© Наш сайт www.daytradingschool.ru

Разработка торговых роботов (автоматических торговых систем)

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

Роботы представляют собой программы, которые автоматически следуют заложенной пользователем торговой стратегии. Они решают покупать или продавать актив на основе алгоритмов, анализирующих и интерпретирующих рыночные данные: объёмы торгов, количество ордеров, цены и время. Роботы — необходимый инструмент трейдинга, они способны анализировать рынок и работать на основе полученного массива данных.

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

Какие роботы нужны трейдерам

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

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

Торговые роботы на заказ разрабатываются с определёнными параметрами, необходимыми для выбора благоприятных решений. С помощью выявления сигналов они определяют, когда уместно торговать, а когда лучше переждать. Боты выискивают выгодные сделки даже при низкой волатильности, когда направление тренда трудно определить. Их алгоритмы способны добиваться прибыли от каждой сделки, даже если их мало. Когда происходит прорыв уровней, боты первыми пользуются ситуацией и берут из неё весь потенциал. На таких внимательных помощников можно смело возложить обнаружение трендов.

Разработка автоматической торговой системы требует знаний и умений сразу в двух областях — программирования и биржевого дела. Наши программисты в связке с трейдерами 8 лет занимаются разработкой торговых роботов на заказ. Мы можем создать торгового робота как под любые биржи, так и для распространённых терминалов:

  • cTrader;
  • MetaTrader 4 и 5;
  • NinjaTrader;
  • Quik;
  • веб-платформы.

Стоимость создания торгового робота (автоматической торговой системы) — от 300 000 рублей.

Polygant разрабатывает индивидуальные решения с необходимыми функциями, которые понадобятся вам для торговли через определённых брокеров. Напишите нам, чтобы обсудить заказ торгового робота.

Робот для Interactive Brokers

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...