Основанные на индикаторах OBV и CCI тенденции в соответствии со стратегией

Автор:Чао Чжан, Дата: 2024-02-21 14:05:12
Тэги:

img

Обзор

Эта стратегия представляет собой следующую стратегию тренда, основанную на индикаторах 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 кроссоверов для генерации конкретных торговых сигналов, стратегия реализует тенденции следующих.

Анализ преимуществ

Основными преимуществами этой стратегии являются:

  1. Использование OBV для определения потока капитала рынка и направления тренда, избегая краткосрочных помех от шума рынка;

  2. Использование индикатора CCI для фильтрации, что делает торговые сигналы более надежными;

  3. Использование кроссоверов EMA для создания высококачественных точек торговли бетоном;

  4. Правила ясны и просты, их легко понять и применить.

Анализ рисков

Существуют также некоторые потенциальные риски для этой стратегии:

  1. Возможность того, что индикаторы OBV и CCI генерируют ошибочные сигналы;

  2. Частые торговые сигналы, легко переторговаться;

  3. Может застрять во время ретрассов;

  4. Плохая настройка параметров приводит к плохой стратегии.

Для контроля этих рисков могут применяться такие методы, как оптимизация параметров, корректировка частоты торговли, установка стоп-лосса и использование фильтров.

Руководство по оптимизации

Стратегия может быть оптимизирована из следующих аспектов:

  1. Оценить влияние различных параметров и найти оптимальную комбинацию параметров;

  2. Установка ограничения частоты торгов для предотвращения переоценки;

  3. Добавление механизма остановки потерь для контроля потерь на одной сделке;

  4. Добавление других показателей в качестве фильтров для улучшения качества сигнала;

  5. Оптимизировать логику входа и выхода, чтобы сделать торговые сигналы более надежными.

Резюме

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


/*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")


Больше