Эта стратегия направлена на выявление крайностей Осиллятора импульса Чанде с использованием обнаружения экстремального распределения в 1-минутные временные рамки, в основном для биткоина и криптовалют.
После обширных исследований оциллятора импульса Чанде, я решил создать стратегию, которая использует нормальные процентильные уровни распределения для снятия записей. Это, в свою очередь, может создать хорошую прибыль в течение последовательных дней в течение 1-минутного периода времени, с конечной целью получить более сильную версию этой стратегии, работающую на боте и печатать немного денег. Стратегия четко определена, но также может быть ослаблена, чтобы сделать больше сделок, давая более высокий размер выборки и лучшее отношение Шарпа.
Стратегия проверяет, если значение Chande находится в экстремальном процентиле на основе последних нескольких сотен значений Chande - если это так, она откроет позицию.
Пока нет стоп-лосса или прибыли, но это будет следующее дополнение, чтобы действительно минимизировать потери и увеличить потенциальную прибыль.
Любая ликвидная крипто-парь на более низких временных рамках принесет хороший результат с этой стратегией.
У нас также есть бесплатная стратегия 15M и 1H.
Стратегия сначала рассчитывает Осиллятор импульса Чанде, который основан на изменении между закрытием текущего периода и закрытием предыдущего периода.
Затем он записывает значения Chande в течение определенного периода обратного просмотра (по умолчанию 425 периодов) и вычисляет разные уровни процентилов. Когда текущее значение Chande достигает предопределенного крайнего процентила (по умолчанию 1% для покупки, 99% для продажи), он запускает длинный / короткий сигнал входа. Сигналы выхода запускаются, когда значение Chande достигает нормальных уровней процентилов (по умолчанию 97,5% и 2,5%).
Таким образом, стратегия может улавливать экстремальные прорывы стоимости Chande, позволяя ей улавливать внезапные движения тренда.
Управление рисками должно сосредоточиться на использовании остановок, нормализации экстремальных параметров и фильтрации сигналов с тенденцией.
Стратегия может быть оптимизирована в нескольких аспектах:
Добавить стоп-лосс/прибыль, чтобы контролировать потери на торговле на разумных уровнях.
Оптимизировать параметры путем корректировки коротких / длинных обратных обращений для разных рынков.
Добавьте фильтрующие условия с индикаторами тренда, такими как MA, чтобы удалить ложные сигналы против общего тренда.
Объединяют несколько временных рамок, используя более высокий TF для измерения направления тренда и более низкий TF для входа.
Испытать прочность параметров на различных продуктах, скорректировать для большего количества сортов.
Внедрить машинное обучение для оптимизации параметров и фильтров динамически.
В целом это стратегия, использующая экстремальные значения осциллятора импульса Чанде для улавливания движений тренда. Его простая логика и эффективное исполнение делают его очень подходящим для быстрого использования взрывных тенденций. В то же время необходимо контролировать риск, избегать чрезмерной оптимизации и многомерную оптимизацию, чтобы адаптировать его к рыночным режимам. Вкратце, он обеспечивает эффективный подход к торговым рыночным взрывам, достойным дальнейших исследований и применения.
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Chande Minute Swinger", overlay=true) //Chande length = input(9, minval=1) src = close momm = change(src) f1(m) => m >= 0.0 ? m : 0.0 f2(m) => m >= 0.0 ? 0.0 : -m m1 = f1(momm) m2 = f2(momm) sm1 = sum(m1, length) sm2 = sum(m2, length) percent(nom, div) => 100 * nom / div chandeMO = percent(sm1-sm2, sm1+sm2) //Parameters to change lengthLookback = 425 //425 golden number buyPercentile = 1 sellPercentile = 99 linePercentileLow = 2.5 linePercentileHigh = 97.5 buy = percentile_nearest_rank(chandeMO, lengthLookback, buyPercentile) exitBuy= percentile_nearest_rank(chandeMO, lengthLookback, linePercentileHigh) sell = percentile_nearest_rank(chandeMO, lengthLookback, sellPercentile) exitSell = percentile_nearest_rank(chandeMO, lengthLookback, linePercentileLow) chandeMA = sma(chandeMO, 9) //sma for potential other strategies implementing cross / trend //Entry conditions closeLongCondition = chandeMO > exitBuy ? true : false closeShortCondition = chandeMO < exitSell ? true : false longCondition = chandeMO < buy shortCondition = chandeMO > sell if (longCondition) strategy.entry("long", strategy.long) if (shortCondition) strategy.entry("short", strategy.short) //Introducing the closes and a stoploss will minimise loss and bring up the sharpe ratio //Current settings are enabled for maximum potential but big risk //strategy.close("long", when=(closeLongCondition == true)) //strategy.close("short", when=(closeShortCondition == true))