Ранее был выложен мой скрипт стратегии ShiftEx 1.0, и сегодня выложил ShiftEx 2.0. Есть существенные изменения улучшающие результаты бектеста. На бектесте ниже использована 2.0 без комиссии, а на графике запущены обе стратегии. Исходный код обоих скриптов стратегий открытый.
Сравним
ShiftEx 1.0
- доходность +432,82%
- сделок 53
- из них прибыльных 66,04%
- просадка до 38,42%
ShiftEx 2.0
- доходность +1462,57%
- сделок 44
- из них прибыльных 90,91%
- просадка до 19,64%
Как видим 2.0 сильно превосходит по всем показателям. Только сделок чуть меньше :) Теперь немного о том каким образом.
Выходить по high свечей не надо
Во-первых, 2.0 выходит по выбранному юзером источнику цены, и по умолчанию это OHLC4, который оказался наилучшим вариантом. Выходить по high прошлой свечи казалась хорошей идее только в теории. А на практике (на деньгах) сразу 2 проблемы вызывает:
1) Очень часто просто не хватает ликвидности на бирже чтобы выйти по цене high прошлой свечи.
2) Даже на бэктестах выход по HL2, HLC3, OHLC4 оказался прибыльнее выхода по high
Вот поэтому от идеи выходить по high я отказался. И видимо навсегда. Глупая была идея.
Учитывать цвет свечи
Во-вторых, у 2.0 цвет свечи теперь влияет на положение линии для покупки (лаймовая), но не линии для закрытия длинной позиции (синяя). А влияет довольно просто для понимания:
- если свеча была красная, то лаймовая линия будет на выбранном юзером расстоянии (например -5%)
- если свеча была зеленой, то лаймовая линия будет уже на двойном выбранном юзером расстоянии (тогда -10%)
Почему так и в чём смысл? Не знаю почему раньше эта идея в голову не пришла. После зеленой свечи цена в среднем падает сильнее чем после красной. А это можно было бы учесть, и этим воспользоваться. Функция эта есть только в 2.0, и она не отключается.
Добавлено
Добавил так же выбор диапазона дат.
Вообще скрипт 2.0 стал больше и сложнее для понимания. Но скрипт 1.0 я оставил без изменений и навсегда - он для понимания проще куда. Вполне вероятно что сделаю когда-нибудь версию 3.0, с еще дополнительными функциями, исходный код которой уже очень мало кто сможет понимать. То есть такая у меня тут задумка: если кто-то хочет понять скрипт стратегии, то пусть сначала изучает 1.0. Если там всё понятно стало, то далее более сложный скрипт 2.0. Если и там уже понятно, то 3.0 (если такой появится). Так же могут быть промежуточные типа 2.1, 2.2 итд, если изменения мелкие.
А вообще выводы
- выгоднее всего закрывать контр-трендовую позицию по SMA-цене.
- SMA должна быть короткопериодной (имхо от 1 до 5 свечей, независимо от ТФ вообще)
- лучший источник цены для такой SMA - это OHLC4
Но это то что касалось закрытия длинной позиции (у меня она всегда синяя в скриптах). Для открытия позиции эти идеи уже не оптимальные. Если мы хотим купить, то было логичнее плясать от low свечей, а не от средней цены. То есть "покупать ниже средних нижних цен" (SMA по low свечей), вместо "покупать ниже любых средних цен" (SMA по HL2 например).
Так что для дальнейшего развития этой Shift-стратегии (включая ShiftMA) было бы логично сделать разные принципы для открытия и закрытия позиции. При закрытии позиции по SMA желательно плясать от OHLC4 и логичнее, а при наборе шорт плясать от high свечей (при наборе лонга плясать от low свечей).
Думаю что эти 2 стратегии можно еще как-то улучшить в будущем.