В течение долгого времени я создавал торговые стратегии в программе Wealth-Lab, а затем переделывал код и проторговывал эту стратегию в ТСЛаб. Мне было так удобно поступать в том числе и потому, что в Wealth-lab есть уже готовые методы управления размером позиции (так называемые PosSizer).
Однако как оказалось в ТСЛаб можно создавать самостоятельно
модули управления размером позиции с помощью написания кода. Потратив несколько часов, мне удалось создать несколько «кубиков», которые по определённым методам рассчитывают количество контрактов которые нужно купить (или продать) в момент сделки.
Сегодня я покажу как они выглядят и как их можно получить и использовать.
Для начала создадим простейшую стратегию — для демонстрации работы кубиков:
Правила такие:
1) Строим по ценам High верхний уровень, а по ценам Low нижний уровень.
2) Сдвигаем эти уровни на одну свечу вправо.
3) Если цена закрытия (Close) закрывается выше сдвинутого верхнего уровеня — входим в длинную позицию на следующем баре с помощью лимитной заявки (по цене Close).
4) Выходим из длинной позиции в тот момент, когда цена закрытия (Close) закрывается ниже сдвинутого уровня — на следующем баре с помощью лимитной заявки (по цене Close).
Торгуемый инструмент: Si (склейка) таймфрейм 5 минут.
Вот как выглядит правила этой стратегии в графическом виде:
Получить код этой стратегии можно в телеграм-канале Лаборатория Трейдинга (
http://t.me/TradingLaboratory )
Выполняем стратегию и смотрим результат:
а) График доходности:
б) Сделки
в) Результаты
Как видим, торговля идёт всё время одним контрактом.
А что, если мы хотели бы проводить расчёт — каким количеством контрактов нужно входить в сделку в зависимости от располагаемого капитала в момент входа в сделку.
Вот технология расчёта:
1. Узнаём количество денег в момент входа в сделку. Такая возможность в ТСЛаб уже есть. Есть специальный кубик, который называется "
Оценка портфеля".
2. Мы должны указать, сколько процентов готовы терять за одну сделку. В результате умножив количество денег в момент входа в сделку на процент возможной потери мы определяем сумму, которой готовы рисковать в одной сделке.
3. Чтобы определить кол-во контрактов на покупку (продажу) мы должны понять, сколько рублей теряем при срабатывании стоп-лоса при торговле одним контрактом.
Для этого нам нужны следующие сведения:
а) цена входа в позицию
б) уровень стоп-Лосс в момент входа в позицию
в) количество акций в одном лоте
г) стоимость пункта
Алгоритм расчёта будет такой: узнаём сколько пунктов теряем при торговле одной акцией, умножаем на количество акций в лоте, переводим пункты потери в рубли (умножая на стоимость пункта)
4. На последнем этапе мы делим сумму, которую готовы терять в одной сделке на сумму потерь при торговле одним лотом и узнаём количество лотов, которое можно использовать в сделке (при этом дробная часть отбрасывается).
Как раз всё то, что перечислено в пунктах со 2-го по 4-й делает кубик, который я создал.
Вот как он выглядит:
В результате схема стратегии будет выглядеть так:
Эквити приобретёт такой вид:
Сделки уже будут совершаться не одним контрактом, а в полном соответствии с тем алгоритмом, который я описал выше:
Ну и результаты, соответственно изменятся. Обратите внимание сколько была доходность в год и максимальная просадка и фактор восстановления («До» и «После») применения метода управления размером позиции (lots_maxPercentRisk).
Ну и естественно, вопрос — а как сделать так, чтобы раздел «Управление размером позиции» появился в Вашей программе?
Всё очень просто:
1) Забираете файлы:
LaboratoryTrading_Indicators.dll
LaboratoryTrading_Indicators.pdb
в телеграм-канале Лаборатория Трейдинга (
http://t.me/TradingLaboratory )
2) Выкладываете эти файлы по этому адресу:
c:\Users\<NAME>\AppData\Local\TSLab\TSLab 2.0\Handlers\
3) Перезапускаете ТСЛаб
4) Пользуйтесь на здоровье!
Надеюсь, что материал, который я подготовил и выложил окажется для Вас полезным в практической деятельности. Буду рад, если плюсанёте этот пост. Готов и дальше делиться некоторыми своими наработками.
PS: Приглашаю завтра на бесплатную онлайн — встречу (
писал об этом здесь >>> ) на которой покажу как переделать стратегию, созданную с помощью кубиков в код на языке C#. Умничать не буду — всё расскажу максимально просто.
Мероприятие начнётся вечером в 20-00 в среду27 февраля. Ссылка на вход и напоминание будет в нашем телеграм-канале: (
http://t.me/TradingLaboratory ). Подписывайтесь там уже достаточно большая тусовка алготрейдеров.
Уверен, что кто-нибудь ссылку на онлайн — встречу выложит и здесь в комментариях.
2 проблема только в 1ом- 100шт в стакане пропихнуть сложно...
3 я бвы не доверял расчета тслаба в плане просадки и средней сделки
4 и это… у тя сделки идут в вечерний клир 19.05 ...