Найти тему
Трейдинг и Роботы

#9 Эмма: Торговые идеи и новый робот

Оглавление

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

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

В этот раз поступлю иначе — буду более последователен и расскажу как создается робот с самого начала — начну с торговой идеи.

Несколько роботов на одном счете

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

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

потенциальная проблема — отсутсвие ресурсов, а не мордобой, конечно
потенциальная проблема — отсутсвие ресурсов, а не мордобой, конечно

Проблемы: мультипликация прибыли/убытков и использование маржи.

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

Но вот с мультипликацией прибыли/убытков все не так просто.

Если роботы будут использовать однотипные идеи для входа в рынок, то будут не только увеличивать потенциальную прибыль, но и риски (в моменте и / или по закрытым позициям).

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

То есть можно написать еще робота торгующего по тренду, на основе анализа фигур, скальпер и по другим концепциям. Такие торговые будут разными по типу и не будут умножать прибыль/убытки в общем.

Где взять торговую идею?

В Интернете. В свободном доступе можно найти все базовые стратегии, проверенные тысячами, если не миллионами трейдеров.

В качестве примера оставлю для ньюфагов пару полезных ссылок: 5 самых мощных свечных паттернов; Шаблон продолжения; Трендлайн; Ценовой канал.

бросай булку, изучай и зарабатывай
бросай булку, изучай и зарабатывай

Еще Price Channel; Channeling: Charting a Path to Success; Playing the Gap; Double Tops and Bottoms; Triple Tops and Bottoms; Head And; Shoulders Pattern; How to Trade the Head and Shoulders Pattern и другие базовые сратегии в свободном доступе на полезном ресурсе investopedia.com.

Полезно: Top 7 Books to Learn Technical Analysis

Также можно открыть учебник по трейдингу, есть множество форумов, каналов и прочих тематических объединений, где можно найти торговые стратегии на любой вкус. Было бы желание.

Зачем роботы?

Когда стратегия есть остается самое сложное — придерживаться стратегии. Однако, тебе не придется придерживаться стратегии, если это за тебя будет делать робот.

для трейдинга — роботы
для трейдинга — роботы

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

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

Также можно оптимизировать стратегию по параметрам, проверить тысячи наборов данных, выбрав наиболее оптимальные (прибыльные), за считанные часы.

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

Изобретаю велосипед

Сначала надо определиться с типом торговой стратегии. Поскольку у меня пока есть только свечной робот Марк, то поле возможностей не сильно пострадало.

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

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

Открываю график, лучше что-нибудь попсовое, в этот раз под руку попался USD/CHF. И ищу низкий таймфрейм, на котором хоть сколько-то видны выраженные тренды. Свечи по 15 минут — отлично подойдет.

USD/CHF 15 минут
USD/CHF 15 минут

Видны глобальные тренды (зеленый и красный), откаты (красный), консолидации (желтый). Тренды по несколько дней — ок.

При том, тренды достаточно выраженные, как на старших таймфреймах. Я поискал, 4-часовой таймфрейм также хорошо показывает это движение:

USD/CHF 4 часа
USD/CHF 4 часа

То есть идеально будет торговать на малом таймфрейме, но получать подтверждение с большего. Это позволит избавиться от ложных сигналов.

Далее, я просто буду по очереди перебирать трендовые индикаторы, пока не получу хороших сигналов на одном из них. Начну с простой аппроксимации цены — скользящей средней (MA).

Сигналы MA на USD/CHF 15 минут, тренд
Сигналы MA на USD/CHF 15 минут, тренд

Как гласит теория теханализа, когда цена пересекает MA снизу вверх — цена растет и надо покупать; когда цена пересекает MA сверху вниз — цена падает и надо продавать.

Ха, классика, а работает как часы, когда тренд выраженный, но что будет во флете?

Сигналы MA на USD/CHF 15 минут, флет
Сигналы MA на USD/CHF 15 минут, флет

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

Фильтрация торговых сигналов

Чтобы отфильтровать сигнал я возьму еще одну кривую, построенную на основе цены, — EMA — экспоненциальную скользящую среднюю.

Коротко о разнице MA и SMA

Простая скользящая средняя (SMA), рассчитывается путем взятия среднего арифметического от заданного набора значений. Другими словами, набор чисел или цен в случае финансовых инструментов складывается и затем делится на количество цен в наборе.

При расчете EMA больше внимания уделяется последним данным. Из-за этого EMA считается расчетом средневзвешенного значения.

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

Теперь вместо цены рынка использую EMA, и открытие позиции будет определяться пересечением кривых.

Отфильтрованные по EMA сигналы на USD/CHF 15 минут, флет
Отфильтрованные по EMA сигналы на USD/CHF 15 минут, флет

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

Для определения точки открытия позиции используется EMA, вместо цены. Так и назову робота — «Эмма».

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

В удобный вид

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

Осциллятор конвергенции/дивергенции скользящих средних (MACD) — это индикатор импульса, следующий за трендом, который показывает взаимосвязь между двумя скользящими средними (разницу).

Наш MACD рассчитывается путем вычитания 26-периодной экспоненциальной скользящей средней (EMA) из 12-периодной EMA.

Вычитаем одну производную от цены из другой, и результатом получаем значение гитограммы MACD (фиолетовые столбики).

MACD нанесен на размеченный ранее график
MACD нанесен на размеченный ранее график

Сигнал: когда столбики MACD ниже 0 — продажа; выше 0 — покупка

Новые сигналы (по MACD) на фоне старых (SMA и EMA)
Новые сигналы (по MACD) на фоне старых (SMA и EMA)

То есть, в самом неудачном промежутке времени мы стали получать более точные сигналы (стрелкой показано, как сместились в нужную сторону), получили некоторые старые правильные сигналы (кружки) в и вообще исключили некоторые ложные сигналы (перечеркнуты).

Внимательный зритель заметит еще одну (желтую) линию — это девяти-периодная EMA для значения MACD, называемая «сигнальной линией».

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

Базовая стратегия Эммы

Эмма использует индикатор MACD (12, 26, 9), чтобы ухватить импульс тренда. При этом, сигналы фильтруются со старшего таймфрейма (4H).

Когда рынок начинает направленно ускоряться, и это не коррекция существующего тренда, Эмма получает сигнал на покупку / продажу.

Сигналы по стратегии Эммы на ценовом графике USD/CHF 15 минут
Сигналы по стратегии Эммы на ценовом графике USD/CHF 15 минут

Когда гистограмма MACD выше 0, и значение MACD (синяя линия) оказывается выше сигнальной (желтой) линии — открывается покупка.

Когда гистограмма MACD ниже 0, и значение MACD (синяя линия) оказывается ниже сигнальной (желтой) линии — открывается покупка.

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

Итоги дня

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

Разработана торговая стратегия, проверена вручную, и она неплохо себя показала на паре принципиально разных рыночных ситуаций. Для робота есть имя, условия открытия/закрытия позиций — дальше разработка.