Cardano / Bitcoin
Обучение

Стратегия CrossLimit

Обновлено
Воть, игрушку Вам новую приволок. На 4-ой версии языка с открытым кодом, и всеми типичными рюшечками. Скрипт прикреплен вниз, бэктест тоже с ним. Далее по традиции разжёвываю до понятного состояния.

Изначальная задумка была такая: как торговать пересечение SMA и при этом на халяву? :) То есть не платить комиссию тейкера, и получать премию мейкера. А значит скрипт годится только для Bitmex.com и подобных бирж. Короче нужна нулевая комиссия обязательно, а лучше премия. Даже с очень маленькой комиссией стратегия скорее всего окажется убыточной. А проблема торговать пересечение в том что приходится по рынку заходить после пересечения, что из-за комиссий сильно дорого выходит, а потому и убыточно. Так и возникла идея попробовать размещать именно лимитный ордер по цене самой SMA, так сказать в надежде что цена вернется к SMA и заденет наш лимитный ордер. Увы, но так не всегда срабатывает, и не редко цена просто не возвращается к SMA, и поэтому остается убыточная позиция против тренда. Но оказалось что такой убыток в среднем то меньше чем прибыли. А так как сверху дадут еще очень премии мейкера (0,1% за каждую позиции на Bitmex.com, например), то вроде бы не плохо это всё выглядит. Пока только выглядит, потому что на деньгах не тестировалось еще.

Стратегия

Рисуется простое скользящее среднее (SMA, синяя линия). Можно выбрать источник цены (похоже close-цена лучше всего подходить здесь), количество свечек в качестве периода, и сдвиг на несколько свечек (offset).

Тренд будет определять еще и с учетом включен фильтр "против пилы" (галочка Anti-saw). Если анти-пила выключена, то пересечение будет идентифицироваться традиционным образом: если свеча закрылась выше чем SMA - это значит аптенд. Если ниже чем SMA - то даунтренд. Так как цена очень часто пилит короткопериодную SMA, то тогда будет огромное количество ложных убыточных сигналов. С включенной анти-пилой ситуация почти всегда лучше. С этим фильтром недостаточно чтобы свеча просто закрылась выше чем SMA. Тут надо чтобы low свечи оказался выше чем SMA - тогда считается что пересеклось и начался аптренд. То есть визуально свеча должна быть полностью над SMA и её не касалась. Тоже самое для даунтренда.

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

Лимитный ордер создается по цене SMA, поэтому сделка в сторону тренда может открыться, а может и не открыться :) Если сделка не откроется, то будет убыточная позиция против тренда. До тех пор пока цена не вернется к SMA. Лонг и шорт можно отключать.

Как тестировать

Комиссию надо 0%, раз уж для bitmex.com и лимитными ордерами. Проверку для заполнения лимитных заявок надо ставить 1. Причем тут разжую тоже: в половине случаев ордер сработал бы, а это значит что ближе к реальности будет нечто среднее между проверкой = 1 и проверкой = 0. Проверку ставить больше 1 смысла вообще нет. Если протестировать с проверкой = 0, то прибыль будет показывать космическую и нереальную на практике. Тут надо закатать губу и поставить проверку = 1. Если с проверкой = 1 стратегия убыточна, то лучше вообще не торговать.

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

Бэктест внизу с комиссией 0% и проверкой для заполнения лимитных заявок = 1 с начала 2018-го года по сегодня на 1-часовом ТФ.
Заметка
Как считать премию мейкера. Для фьючей к биткойну там премия 0,05%. Но так как надо ордер и на открытие и на закрытие позиции, то её получаем 2 раза или 0,1% за позиции. Количество позиций видно на бэктесте, в данном примере их 1414 всего закрытых сделок. Или 141,4% от премии мейкера.

Неправильно: 4.475% + 141% = 4.616%

Правильно: 4.475% + 141% = 10.784%
Technical Indicators

Мои профили:

Похожие публикации

Отказ от ответственности