Эта стратегия представляет собой следующую стратегию тренда, основанную на индикаторах OBV и CCI. Она использует индикатор OBV для оценки тенденции рынка и потока капитала, а затем использует индикатор CCI для фильтрации для генерации торговых сигналов. Когда оба индикатора OBV и CCI подтверждают текущий восходящий тренд, вы идете в длинный; когда оба индикатора подтверждают текущий нисходящий тренд, вы идете в короткий.
Стратегия в основном опирается на два индикатора OBV и CCI. Индикатор OBV может отражать поток капитала на рынке. Когда OBV зеленый, это означает текущий тренд притока капитала; когда OBV красный, это означает текущий тренд оттока капитала. Индикатор CCI используется в качестве фильтра. Установлением порога, когда CCI выше порога, это считается бычьим рынком; когда CCI ниже порога, это считается медвежьим рынком.
Для входных сигналов, если значение OBV последнего периода зеленое (приток капитала) и CCI выше порога (на бычьем рынке), в то же время линия OBV пересекает линию EMA, генерируется сигнал покупки.
Для сигналов выхода, если значение OBV последнего периода красное (отток капитала) и CCI ниже порога (на медвежьем рынке), а линия OBV пересекает линию EMA, генерируется сигнал продажи.
Таким образом, судя по основным тенденциям с использованием OBV, фильтрации с показателем CCI, и объединения их с использованием EMA кроссоверов для генерации конкретных торговых сигналов, стратегия реализует тенденции следующих.
Основными преимуществами этой стратегии являются:
Использование OBV для определения потока капитала рынка и направления тренда, избегая краткосрочных помех от шума рынка;
Использование индикатора CCI для фильтрации, что делает торговые сигналы более надежными;
Использование кроссоверов EMA для создания высококачественных точек торговли бетоном;
Правила ясны и просты, их легко понять и применить.
Существуют также некоторые потенциальные риски для этой стратегии:
Возможность того, что индикаторы OBV и CCI генерируют ошибочные сигналы;
Частые торговые сигналы, легко переторговаться;
Может застрять во время ретрассов;
Плохая настройка параметров приводит к плохой стратегии.
Для контроля этих рисков могут применяться такие методы, как оптимизация параметров, корректировка частоты торговли, установка стоп-лосса и использование фильтров.
Стратегия может быть оптимизирована из следующих аспектов:
Оценить влияние различных параметров и найти оптимальную комбинацию параметров;
Установка ограничения частоты торгов для предотвращения переоценки;
Добавление механизма остановки потерь для контроля потерь на одной сделке;
Добавление других показателей в качестве фильтров для улучшения качества сигнала;
Оптимизировать логику входа и выхода, чтобы сделать торговые сигналы более надежными.
В общем, это основная стратегия, которая может эффективно отслеживать тенденции цен и избегать помех шума. Но все еще есть некоторые риски, требующие улучшений, таких как оптимизация параметров, остановка потерь, контроль частоты торговли и т. Д. Если параметры установлены научно, можно достичь значительного улучшения производительности бэкстеста. Стратегия подходит для более продвинутых квантовых трейдеров для обучения и практики.
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //author: SudeepBisht //@version=3 strategy("SB_CCI coded OBV Strategy", overlay=true) src = close length = input(20, minval=1, title="CCI Length") threshold=input(0, title="CCI threshold for OBV coding") lengthema=input(13, title="EMA length") obv(src) => cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume) o=obv(src) c=cci(src, length) col=c>=threshold?green:red chk=col==green?1:0 ema_line=ema(o,lengthema) //plot(o, color=c>=threshold?green:red, title="OBV_CCI coded", linewidth=2) //plot(ema(o,lengthema), color=orange, linewidth=2) if (not na(ema_line)) if (crossover(o, ema_line) and chk[1]==1) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (crossunder(o, ema_line) and chk[1]==0) strategy.entry("RsiSE", strategy.short, comment="RsiSE")