Bitcoin
Éducation

Апдейт пробойной стратегии

Mis à jour
Давным давно я выкладывал скрипт стратегии Noro's BrakeOut Strategy v1.0, что можно перевести как "Пробойная стратегия", и сегодня сделал измененную версию еще. Старую оставил. Сначала про стратегию, а потом про изменения.

Стратегия Brakeout

Придумал её не я, и она стара как мир, возможно она старше сотни лет. Изначально стратегию вообще взял из стандартного набора встроенный индикаторов TradingView. Вы её там во встроенных индикаторах можете найти по строке "brakeout", но ей надо размер капитала 100% поставить в настройках. Я же скрипт этот толком и не изменил, просто добавил галки лонга/шорта, фичу ставить капитал больше 100% и диапазон дат.

Позже я добавил туда галочку "BodyMode", если ей ставить то расчет ведется не от хвостов свечей, как обычно делает, а от тел свечей. В некоторых случаях так оказалось лучше.

Логика стратегии

Да ужаса просто. Выбираете период, например 4 свечи. Тогда скрипт считает максимальную цену, которая была за последние 4 свечи (а это всегда high одной из свеч получается). Так же скрипт будет считать и минимальную цену за последние 4 свечи (а это тоже всегда low свечи). Разумеется, скрипт смотрит только прошлые свечи, влево, и не смотрит будущие, которые справа. В будущее подглядывать нельзя, а то перериовываться начал бы.

Соответственно, по этой же логике рисуется 2 синии линии. Они не пересекаются и не должны.

Если цена превысила верхнюю линию с прошлой свечи (не с текущей свечи!) то это сигнал на лонг. И верно зеркальное: если цена ушла ниже нижней линии, то это сигнал на шорт.

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

Изменения в 2.0

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

А сделано так: скрипт считает размер минимального хода цены, например это 0.1 доллара для пары XBT/USD и умножает это на 10 (получается 1 доллар для это пары). Далее уровни рисуются со смещением в 1 доллар, из-за чего ложных касаний становится меньше.

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

Решил не затирать скрипт версии 1.0, так как кому то старый вариант может больше нравится (не все же только крипту торгуют), поэтому выложил отдельно версию 2.0. Оба скрипта прикрепил внизу, оба с открытым исходным кодом. Если что никаких ботов под эти две стратегии у меня нет, и у других нет, а то спрашивают.
Note
Тестировать надо с комиссией 0.1% если предполагается торговать на битмекс. С комиссией 0.075% (такая реально на битмексе) - будет недостаточно. Так как кроме комиссии будут еще и проскальзывания (ордер сработает хуже из-за нехватки ликвидности). Размер проскальзывания заранее узнать нельзя, хотя бы потому что это сильно зависит от суммы Вашей. Чем больше капитал - тем больше будет проскальзывание. Поэтому предлагаю 0.1% ставить комиссию. Учесть проскальзывание в комиссии просто, несмотря на то что там отдельное поле есть - разницы в этом нет.

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

Может быть есть смысл юзать "режим мейкера", это когда ордер в стакане "бежит за ценой". В среднем так срабатывать будет менее выгодно так как опаздывает за ценой, но зато без комиссии. Но такое только ботами делают, руками это было бы жутко рутинно.
Technical Indicators

Aussi sur:

Publications connexes

Clause de non-responsabilité