Ollivander
Ollivander личный блог
18 сентября 2023, 12:43

Строим торговую систему в ТСлаб с нуля. Часть 1

Строим торговую систему в ТСлаб с нуля. Часть 1May 11, 2023

 Дисклеймер:

Это не обучалка, это просто статья, которую я пишу в процессе своих изысканий) Я тут внезапно начал вести диалоги с подписчиками в чате и с удивлением для себя узнал, что имеет смысл постоянно подчеркивать, что наличие стратегии/торговой системы (это не обязательно робот, это может быть просто свод правил и техник) – это очень важно. Задача этого лонгрида показать, что торговля может быть более спокойной, без эмоциональных качель, что прибыль и риски можно прогнозировать хотя бы примерно.

 

Лонгридище

 

 Для построения успешной торговой системы нам нужно получить максимально возможный «перевес» на каждом из этапов построения:

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

 

2) Выбор рынков и инструментов. Здесь всего пара общих рекомендаций:

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

(Оценивать корреляцию можно по методу Пирсона, при желании можно посчитать самостоятельно, либо если владеете ТСлаб соберите скрипт сами, я готов подсказывать)

 

3) Нам стоит выбрать логику входа и выхода из позиции

 Обычно начало работы над системой начинается именно с идеи входа и выхода.

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

Строим торговую систему в ТСлаб с нуля. Часть 1Пример работы индикатора

На первый взгляд выглядит очень привлекательно. Подсвечивает нам 30 тысяч пунктов по евро практически без сомнений. Поэтому будем пытаться работать с логикой вход-выход именно с ним.

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

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

  

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

 

5) Бэктестим. Стресс-тестим. Оцениваем параметры: коэффициент восстановления и коэффициент Сортино, оцениваем «зеленую жижу» — насколько плавный прирост капитала.

 

 

Итак, в рассуждениях и работе пойдем от «широкого к узкому», поэтому изначально я выбираю подход:

 

1) Базис на пальцах: если очень упростить, то в мире простых механических систем есть всего два варианта:

 

А) Мы часто забираем короткие движения, при этом наш редкий стоп сильно больше средней положительной сделки. Здесь речь идет о 65-90% положительных сделок, но при этом соотношение средней прибыли по сделке к среднему убытку по сделке явно не в пользу прибыльных. При таком подходе для общего перевеса очень важно учитывать комиссию, поскольку системы очень интенсивно открывают и закрывают новые позиции. Такие характеристики присущи контртрендовым стратегиям

 

Б) Мы часто теряем по чуть-чуть, но при этом наши редкие успешные сделки забирают настолько крупные движения, что они с лихвой перекрывают убытки пристрелочных позиций. Это описание классических трендовых систем, задача которых забрать все устойчивое движение и главное не слить во время боковика. Здесь речь идет о 20-35% положительных сделок. А прибыль достигается за счет того, что средняя прибыль сильно выше среднего убытка.

 

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

 

Мне ближе второй подход, поэтому систему будем выстраивать трендовую. + это полностью бьется с выбранной идеей логики входа и выхода. Здесь основная борьба пойдет за количество положительных сделок. Если на большой дистанции добьемся 35-45%, то это огромный перевес.

 

2) Выбор инструментов. Для тестов, чтобы не усложнять работу необходимостью учитывать цену пункта, я обычно использую склеенный фьюч $EU, $Si или акции $SBER, на этом и начнем собирать систему. Позднее с уже готовой стратегией будем отбирать активы для работы на боевых счетах.

 

3)Расшифруем логику чужого индикатора из TradingView.

Суть скрипта оказалась простой:

Автор берет следующие данные:

«МаксимумЗа» — максимальная цена за выбранный период

«МинимумЗа» — минимальная цена за выбранный период

«ATR» — средний истинный диапазон (средний ход цены за выбранный период)

Все данные за 26-дневной период. (Не очень понятно почему выбрано именно 26 дней, может дань уважения MACD, нужно будет попробовать тест с более привычными периодами)

После чего рассчитываются уровни:

Базовый– это среднее между максимумом и минимумом за 26 дней.

Дальше 3 зеленых уровня:

Базовый + ATR

Базовый + 2*ATR

Базовый + 3*ATR

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

Итого у нас 7 уровней. Все что выше базового уровня – это восходящий тренд.

Все что ниже – нисходящий.

 

Прям вот в такой глупой форме для начала и проверим:

Закрыть шорт и открыть Лонг по рынку, если цена закрытия дневного бара выше базовой линии; закрыть лонг и открыть Шорт, если цена закрытия дневного бара ниже базовой линии.

Строим торговую систему в ТСлаб с нуля. Часть 1Получаем вот такую простенькую сборку (кстати, ТСлаб очень прост в использовании, если вы можете справиться с Tilda или Excel, то и тут проблем не будет)

Загружаю котировки просто текущего фьюча $EUM3 и получаю вот такую «зеленую жижу»:

Строим торговую систему в ТСлаб с нуля. Часть 1

Синяя линия – это стратегия «Купил и держи». Зеленое месиво – это наш прирост (с некоторыми допущениями, но об этом позже). Пока мы тестим работу только одним лотом, никаких изысков. Открываем сводку по итогам и коэффициенты:

Строим торговую систему в ТСлаб с нуля. Часть 1Строим торговую систему в ТСлаб с нуля. Часть 1

Ну просто сказка. 76% доходности.

71% прибыльных сделок.

Средняя прибыль к среднему убытку тоже космическая

Фактор восстановления заоблачный! 10 – это уже круто, 13 – это высокоуровневая работа, а тут 23 почти)

Максимальная просадка — просто блеск.

Сортино больше 2 – это тоже очень хорошо.

 

Но мы в золотую антилопу давно не верим, поэтому грузим котировки с 2009-го года и смотрим дальше:

Строим торговую систему в ТСлаб с нуля. Часть 1

Ну что же, жижа восходящая, сносная, но некрасивая. Вероятно, эти просадки можно компенсировать не коррелирующими инструментами, будем думать.

И результаты, и коэффициенты стали совсем грустными:

Строим торговую систему в ТСлаб с нуля. Часть 1

 

Строим торговую систему в ТСлаб с нуля. Часть 1

Теперь нужно смотреть, что можно поправить.

Тезис первый:

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

И осуществить набор крупной позы не единоразово, а использовать классический «пирамидинг».

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

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

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

 

   />  Report content on this page
6 Комментариев
  • VladMih
    18 сентября 2023, 12:59
    Очень толково! Со всем согласен на 100%!

    Работали ли вы в ТСЛабе с Форексом? Хочу возобновить свою давнюю работу в Лабе, но просто бесит то, что не могу в последней версии правильно настроить поставщика данных, как результат в статистике искажаются то одни данные, то другие. Никто не смог помочь (обращался в т.ч. в их оф.чат в телеге), из-за этого бросил Лабу.
      • VladMih
        18 сентября 2023, 22:22
        Ollivander, понимаю, в предыдущих версиях было норм, а сейчас разные показатели не бьются между собой. Это долго описывать.
        А не могли б вы прогнать любого робота по форексу (лучше по золоту)? И сравнить отображение статы с тем, что она показывает у вас сейчас.
  • Константин Платонов
    19 сентября 2023, 01:18
    Спасибо!
  • Анна Анна
    09 января 2024, 19:20
    Добрый день. А был опыт пустить такого робота на реальный счет?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн