Стратегия баланса быка и медведя - это улучшенная стратегия после тренда. Она анализирует баланс между бычьими и медвежьими силами на основе отношения между текущей панелью и предыдущей панелью и генерирует торговые сигналы, когда баланс нарушается.
Основным показателем этой стратегии является nBBB, который отражает баланс между бычьими и медвежьими силами текущей панели по сравнению с предыдущей панелью.
nBBB = value2 - значение
При этом value и value2 рассчитывают бычьи и медвежие силы текущего и предыдущего баров соответственно. Расчет довольно сложен, включая суждения о взаимосвязи между закрытыми, открытыми, высокими и низкими ценами. Но в целом value измеряет бычьи/медвежие силы текущего бара, а value2 измеряет силы предыдущего бара. Их разница отражает изменение баланса бычьего/медвежьего.
Когда nBBB падает ниже порога SellLevel, генерируется короткий сигнал. Когда nBBB поднимается выше порога BuyLevel, генерируется длинный сигнал. Пороги могут регулироваться с помощью параметров.
Основными преимуществами этой стратегии являются:
На основании сигналов от свечей, он может определить важные поворотные моменты.
Измеряя баланс быка/медведя, сигналы становятся более точными и надежными.
Сравнение текущей панели с предыдущей фильтрует шум для более четких сигналов.
Применимо к различным временным рамкам с хорошей гибкостью.
Индикатор nBBB интуитивно понятен, а сигналы просты и ясны.
Некоторые риски:
nBBB может генерировать ложные сигналы, требующие подтверждения цены.
Если полагаться только на nBBB, то есть слепые точки, лучше использовать другие показатели.
Параметры SellLevel и BuyLevel напрямую влияют на производительность и требуют тщательной оптимизации.
Сигналы могут отставать во время крайней волатильности, что требует оценки риска.
Более подходит для среднесрочной / долгосрочной, краткосрочной может получить whipsawed.
Некоторые способы улучшения стратегии:
Оптимизировать SellLevel и BuyLevel на основе исторических обратных тестов для лучшего соответствия.
Включить механизмы стоп-лосса, такие как отслеживание стоп-лосса для контроля рисков.
Добавьте другие показатели, такие как объем, стохастический и т. д., чтобы улучшить точность решения.
Внедрить машинное обучение для автоматической оптимизации параметров и создания лучших сигналов.
Отдельная оптимизация параметров для различных продуктов и временных рамок.
Стратегия баланса быка и медведя оценивает изменение тренда путем измерения изменений силы быка/медведя, что делает ее относительно простой и практичной стратегией. Она имеет определенные преимущества, но также и риски. С оптимизацией параметров, остановкой потерь, дополнительными индикаторами и т. Д. В целом она представляет собой интересный количественный подход, достойный более глубоких исследований и применения.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 03/02/2017 // This new indicator analyzes the balance between bullish and // bearish sentiment. // One can cay that it is an improved analogue of Elder Ray indicator. // To get more information please see "Bull And Bear Balance Indicator" // by Vadim Gimelfarb. //////////////////////////////////////////////////////////// strategy(title = "Bull And Bear Balance Strategy") SellLevel = input(-15, step=0.01) BuyLevel = input(15, step=0.01) reverse = input(false, title="Trade reverse") hline(SellLevel, color=red, linestyle=line) hline(BuyLevel, color=green, linestyle=line) value = iff (close < open , iff (close[1] > open , max(close - open, high - low), high - low), iff (close > open, iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), iff(high - close > close - low, iff (close[1] > open, max(close[1] - open, high - low), high - low), iff (high - close < close - low, iff(close > open, max(close - low, high - close),open - low), iff (close > open, max(close[1] - open, high - close), iff(close[1] < open, max(open - low, high - close), high - low)))))) value2 = iff (close < open , iff (close[1] < open , max(high - close[1], close - low), max(high - open, close - low)), iff (close > open, iff(close[1] > open, high - low, max(open - close[1], high - low)), iff(high - close > close - low, iff (close[1] < open, max(high - close[1], close - low), high - open), iff (high - close < close - low, iff(close[1] > open, high - low, max(open - close, high - low)), iff (close[1] > open, max(high - open, close - low), iff(close[1] < open, max(open - close, high - low), high - low)))))) nBBB = value2 - value nBBBc = nBBB < 0 ? red : green pos = iff(nBBB < SellLevel, -1, iff(nBBB >= BuyLevel, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nBBB, style=line, linewidth=1, color=nBBBc) plot(nBBB, style=histogram, linewidth=1, color=gray)