» » Содержание курса. Торговые роботы своими руками. Версия 3.0
сентябрь 10 2017

Содержание курса. Торговые роботы своими руками. Версия 3.0


Программирование торговых роботов. Обучение Курсы
На данный момент курс содержит 65 видео, посвящённых программированию различных задач, связанных с трейдингом (заработком на бирже). Используются язык программирования C# (СиШарп) и торговая платформа NinjaTrader (НинзяТрейдер).
Со временем у любого трейдера возникает желание автоматизировать свой труд, сделать его более легким и комфортным. Ручная торговля очень утомительна, часто требует эмоциональных затрат и отбирает много времени. Выходом из этой ситуации является автоматизация труда. Идеальная ситуация – это полностью готовый торговый робот, который работает 24 часа в сутки 5 дней в неделю, приносит устойчивую прибыль, в то время как мы отдыхаем. Но путь к этому состоянию долог и тернист.

Пути поиска трейдерского Грааля.

Путь без цели – это дорога в никуда. Цель у нас с вами одна – заработать, стать финансово независимым. Можно торговать руками, совершенствовать себя и свою торговую систему (ТС), но есть еще один путь, это автоматизировать свой труд. Данный видеокурс поможет вам это сделать, он даст более глубокое понимание рынка (порядка 70% всех сделок на рынке совершают роботы), вы научитесь реализовывать свои торговые идеи в виде индикаторов, торговых стратегий или торговых помощников.
Хочу обратиться к тем, кто думает, что, купив выставленного на продажу торгового робота (в интернете много предложений подобного рода), он решит все свои проблемы (достигнет своей цели). Не обольщайтесь, просто включите здравый смысл, поменяйтесь местами с продавцом. Лично вы будете продавать торгового робота, приносящего вам прибыль (курицу несущую золотые яйца)? Алгоритмы и торговые идеи для реальных игроков биржи являются их ноу-хау, их хлебом, заработком, преимуществом на рынке. Вы будете пилить сук, на котором сидите?
В качестве примера хочу привести реальные случаи, которые я лично наблюдал и наблюдаю. Некоторые трейдеры ради сиюминутного успеха (известности) участвуют в различных чемпионатах (я тоже участвовал) и в результате раскрывают свой алгоритм, торговую идею. Так было на чемпионатах, проводимых фирмой MetaQuotes (разработчики терминала MetaTrader: https://championship.mql5.com/), то же самое происходило и происходит ежегодно на ЛЧИ: идея торгового робота, показавшего хорошие результаты, исследуется другими участниками рынка, изучается, затем делается её клон, и в результате эффективность падает, т.к. множество роботов начинают использовать эту идею в торговле.

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

Если у Вас есть торговая идея и вы хотите её автоматизировать, то существует несколько путей:

Путь первый - «код за идею» (наиболее часто встречается у новичков рынка). Трейдер рассказывает идею, а программист бесплатно её программирует. Ничего хорошего из этого не получится, т.к. за такую работу возьмётся только программист новичок (см.: Торговый робот сошёл с ума).

Путь второй – найти опытного программиста, который запрограммирует по вашему словесному описанию торгового робота. На этом пути вас ожидают следующие трудности: если программист не трейдер (никогда не торговал) и (или) вы ни разу не программировали, то понять друг друга будет очень и очень сложно, плюс вы всегда будете зависеть от программиста, любое, даже маленькое изменение в коде не сможете без него сделать.

Путь третий: организовывается фирма, снимается помещение, собирается команда, которая реализовывает ваши торговые идеи и может генерировать свои. Обычно команда состоит из троек (трейдер, математик, программист), тройки специализируются по разным направлениям – акции, фьючерсы, опционы, биржи и т.д. Естественно – служба безопасности. Недостатки этого пути связаны с огромными затратами и большими рисками, что торговые идеи (коды) уйдут из фирмы (см.: Goldman Sachs кража кода).

Путь четвертый – поступить, как капитан Немо, т.е. заказывать части своего «корабля» у разных программистов; каждая часть без остальных – бессмысленна.

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

Не верьте своим страхам и тем, кто говорит, что программирование — это сложно. Научиться программированию достаточно просто. Всякий неизведанный путь априори кажется трудным, и мы стараемся его избежать. Неужели мальчишка-восьмиклассник знает и умеет больше, чем вы? Если он может, то почему не сможете вы?
К примеру, изучить английский язык намного сложнее, чем научиться программировать. Достаточно запомнить 20-30 слов – и можно уже начинать писать программы. Поверьте мне, программисту с 30-летним стажем, который до сих пор так и не освоил английского.  smile

Содержание курса.

Начинаем от простого к сложному. Устанавливаем и настраиваем нужное программное обеспечение, получаем демонстрационный счет (ДС) и учимся продлевать его до бесконечности. Это нужно, чтобы исключить любую возможность подключения к реальному счету в процессе обучения или тестирования - только ДС. Пока не научим робота торговать на истории, не протестируем его на ДС в режиме реальных торгов, на боевом счёте ему делать точно нечего.
Следующая часть посвящена простейшим алгоритмам. Всего несколько строк кода, но они уже позволят нам исследовать статистику торгов, научат построению простейших алгоритмов. К примеру, я встречал алгоритмы, которые используют элементарную логику работы: если свеча в 16:30 в третий четверг месяца красная, то продаем в 18:00 (время Московское). На первый взгляд кажется бредом и что это не должно работать. Но, если вы трейдер и вдумаетесь, то поймете, что в 3-й четверг каждого месяца в 16:30 всегда выходят важные новости. Эта свеча определяет, куда пойдет рынок. Можно входить и не в 18:00, а, к примеру, в 17:30 - открытие торгов в Америке. Вариантов масса. Статистика покажет.

Затем изучаем индикаторы. Как использовать стандартные индикаторы, как их можно модифицировать, раскрасить, как прикрутить Allert в нужном месте, как создать свой собственный индикатор, как взять любой индикатор (не только стандартный), исследовать его, узнать, какие данные из него можно использовать; как вытащить из него необходимую нам информацию для торгового робота, и т.д.
Есть программисты, которые прячут свой код различными способами, в частности закрывают код от просмотра в dll файл. Сразу хочу предупредить: мы работаем только с открытым исходным кодом, нам незачем прятать код от самого себя, поэтому я не показываю, как взламывать такую защиту. Да и не нужно это. Главное – понять идею этого индикатора или торговой стратегии, и можно запрограммировать все с чистого листа – это будет быстрее, эффективнее и, главное, надежнее.

Есть видео, посвящённые целому классу стратегий, в которых анализируется сразу несколько таймфреймов (графиков). К примеру дневные, часовые, а вход в рынок осуществляется на 5- минутном графике. В английском языке эти стратегии называются Multi-Timeframes. Аналогично Multi-Instrument – это, когда для входа анализируется несколько инструментов, торгуемых на бирже.
Вот простой пример: анализируем курс доллара относительно евро, индекс miniS&P500, фьючерс на погоду и т.д., а торгуем трежерис, или йену, или все эти инструменты сразу. Входим разными объемами в нужном направлении.

Есть уроки, посвящённые работе со «стаканом» цен (Level II): как к нему получить доступ, как обработать эти данные и т.д. Работа со «стаканом» очень интересная и достаточно благодатная тема. В качестве примера хочется привести одну из простейших стратегий: находим в «стакане» крупный лот и становимся перед ним. Более подробно можете посмотреть эту стратегию на видео
Программирование подобных стратегий является лакмусовой бумажкой для торгового терминала, оценкой его возможностей. Многие торговые терминалы не дают возможность программировать «стаканные» стратегии. Помимо возможности запрограммировать нужно еще и протестировать созданный алгоритм, т.е. необходимо иметь историю «стакана» и уметь её воспроизводить. Все это возможно сделать в NT7(8).

Есть интересный класс торговых стратегий, называемый «арбитражные роботы». Они работали 100 лет назад, работают сейчас и будут работать в будущем. Сама идея проста и понятна, есть в учебниках для вузов. Запрограммировать её достаточно просто. Есть много сайтов, где продают подобных роботов, но не торопитесь их покупать. Чтобы настроить этот алгоритм, нужно понимать, как он устроен изнутри, нужно уметь подбирать торговые пары (корзины инструментов). Не зная, не умея этого, вы будете, как настройщик пианино, у которого нет слуха.

В видеокурсе есть нейронные сети, за громким названием этого класса алгоритмов стоит очень простая идея, которую я вам объясню и покажу, как говорят, «на пальцах». Вы на 100% поймете её и будете удивлены, насколько это просто.

Есть пример использования великолепной бесплатной математической библиотеки (http://www.alglib.net/) – в ней очень много полезного. На рис.1 показан пример использования этой библиотеки, с её помощью создается спектр (преобразование Фурье), рассчитывается адаптивный цифровой фильтр низкой частоты (ФНЧ) и из колебаний цены удаляется высокочастотный шум.

Рисунок 1. Пример использования сторонней математической библиотеки. Построение спектра и адаптивный фильтр низкой частоты (ФНЧ).

В данной библиотеке содержится много различных алгоритмов, облегчающих анализ данных (то, чем мы тут и занимаемся). Вот некоторые из них (http://www.alglib.net/translator/man/manual.csharp.html):
dataanalysis.cs - алгоритмы интеллектуального анализа данных (data mining);
diffequations.cs – решатели дифференциальных уравнений;
fasttransforms.cs – преобразование Фурье и сопутствующие алгоритмы;
integration.cs – численное интегрирование;
interpolation.cs – интерполяция;
linalg.cs – линейная алгебра;
optimization.cs – алгоритмы оптимизации;
solvers.cs – линейные и нелинейные решатели;
specialfunctions.cs – специальные функции;
statistics.cs – статистика;
ap.cs – векторные/матричные классы и операции с ними;
и т.д.

В курсе есть примеры программирования полуавтоматов, наших с вами помощников. В меню NinjaTrader 7 можно добавить кнопки и запрограммировать их на различные действия – это очень удобно, когда человек а не робот, принимает решение о входе в рынок. Просто нажимаете кнопку, а дальнейшие действия совершает робот. На рис. 2 показан пример кнопок, при нажатии на которые происходит покупка и продажа сразу нескольких торговых инструментов с заданным объемом, формируется так называемая «дельта нейтральная» позиция, после этого робот следит за текущей суммарной позицией и при достижении заданной в настройках прибыли выходит из рынка.

Рисунок 2. Пример встраивания кнопок в меню Ninja Trader 7.

Курс содержит блок видео, посвящённый программированию в новой версии торговой платформы NinjaTrader 8. Показано, как подключить, как настроить, какие ещё программы необходимо установить для комфортной работы, как конвертировать созданное программное обеспечение из NT7 в NT8. Есть специальная программа, которая помогает это сделать. К сожалению, полностью автоматически перенести код на новую торговую платформу с её помощью не всегда удаётся. Если в NT7 при программировании использовались какие-то недокументированные возможности (коды), то их приходится исправлять руками (порядка 2% кода), т.к. это уже конец курса, вам будет не сложно это сделать, и я всегда на связи. Что-то не получается – стучитесь, будем разбираться вместе.

P.S. Не тратьте зря время! Его нельзя ни купить, ни продать, а вот купить курс «Торговые роботы своими руками» – можно.
Искренне желаю всем удачи, попутных трендов, легкой и комфортной торговли на бирже, которая приносит радость и финансовую независимость.

Комментарии

  1. Владимир

    Владимир

    10 сентября 2017 22:05 Гости
    Как купить, сколько стоит?
  2. Prival

    Prival

    10 сентября 2017 22:08 Администраторы
    Забыл вставить ссылку. Извините. Вот тут страница с ценой + там еще есть пояснения и видео
    Купить
  3. Сергей

    Сергей

    11 сентября 2017 11:41 Гости
    Правильно ли я понимаю, что данная информация есть как раз в основном курсе Обучение прибыльной торговле или это расширенный блок ?
    1. Prival

      Prival

      11 сентября 2017 23:40 Администраторы
      Нет это отдельный курс. Обучение прибыльной торговле - это руками торгуем фьючерс РТС.
      Торговые роботы своими руками, это программирование для рынка СМЕ
      1. алексей

        алексей

        18 октября 2017 15:52 Гости
        здравствуйте. Очень интересуюсь этой темой. Вы пишите что этот курс для рынка СМЕ.В чём особенность. Спасибо
  4. Prival

    Prival

    19 октября 2017 22:11 Администраторы
    Цитата: алексей
    здравствуйте. Очень интересуюсь этой темой. Вы пишите что этот курс для рынка СМЕ.В чём особенность. Спасибо

    Дело в том что программное обеспечение NinjaTrader заточена именно для этого рынка, рынка СМЕ. Очень жалею что она не работает с Российской биржей. Из всех торговых платформ что я пробовал, это лучшая, можно запрограммировать все что угодно, подключить любую библиотеку + что очень важно, она надежная и предсказуемая.

Оставить комментарий

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent