Биномиальная стратегия отмены импульса

Автор:Чао Чжан, Дата: 2024-02-28 17:20:02
Тэги:

img

Обзор

Стратегия Binomial Momentum Breakout Reversal сочетает в себе индикатор Stochastic и индикатор Bull Power для реализации двойной фильтрации сигналов и обратной торговли в переломные моменты рынка для преследования ситуаций перепродажи и перекупки.

Логика стратегии

Стратегия состоит из двух частей:

  1. 123 Стратегия отмены

    Он использует обратную стратегию, предложенную Ульфом Дженсеном в его книге "Как я утроил свои деньги на фьючерсном рынке". Он длинный, когда цена закрытия выше, чем предыдущая закрытие в течение 2 дней подряд, и 9-дневный медленный стохастик ниже 50; он короткий, когда цена закрытия ниже, чем предыдущее закрытие в течение 2 дней подряд, и 9-дневный быстрый стохастик выше 50.

  2. Индикатор силы быка

    Он использует индикатор импульса, предложенный Вадимом Гимельфарбом в его книге "Индекатор баланса быка и медведя". Он оценивает бычью/медвежью силу, рассчитывая отношение между текущей K-линией и предыдущей K-линией, и генерирует торговые сигналы.

Стратегия сочетает в себе две вышеперечисленные стратегии одного сигнала. Она генерирует торговые сигналы только тогда, когда сигналы двух стратегий согласовываются для реализации двойного фильтрации сигнала.

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

Стратегия сочетает в себе преимущества стратегий реверсии и стратегий отслеживания. Она может своевременно улавливать сигналы реверсии, когда рынок показывает признаки реверсии, одновременно уменьшая ложные сигналы посредством двойной фильтрации сигнала, чтобы избежать погони за максимумами и продажей минимумов.

  1. Использование модели 123 для определения переломных моментов на рынке и выявления ситуаций с перепродажей и перекупками.
  2. Механизм двойной фильтрации сигналов позволяет избежать ложных сигналов, генерируемых отдельными индикаторами, и улучшает качество торговых сигналов.
  3. Торговля реверсией, чтобы воспользоваться возможностями тренда, предоставляемыми реверсиями рынка.
  4. Большое пространство для оптимизации параметров для адаптации к различным рыночным условиям путем корректировки параметров индикаторов.

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

Стратегия также сопряжена с некоторыми рисками:

  1. Риск неудачи реверсии. Определение сигналов реверсии имеет некоторые трудности. Вероятность продолжения цены первоначальной тенденции после дачи сигналов реверсии также очень высока.
  2. Потеря возможности при несоответствии сигналов между двумя показателями.
  3. Неточная идентификация сигналов обратного движения из-за неправильных параметров.
  4. Стратегия более подходит для среднесрочной и долгосрочной торговли.

Контрмеры:

  1. Используйте стратегии стоп-лосса для контроля одиночных потерь.
  2. Для различных сортов можно выбрать различные комбинации.
  3. Объедините другие показатели в качестве вспомогательного суждения.

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

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

  1. Проверить влияние различных параметров на эффективность стратегии, чтобы найти оптимальную комбинацию параметров. Например, скорректировать параметры цикла стохастического индикатора, параметры сглаживания индикатора KDJ и т. д.
  2. Увеличить стратегию стоп-лосса для контроля одиночных потерь.
  3. Сочетание других индикаторов для проверки сигналов. Например, MACD, KD, RSI и другие индикаторы могут рассматриваться при генерировании торговых сигналов.
  4. Использовать алгоритмы машинного обучения для оптимизации параметров и достижения динамической корректировки параметров.

Резюме

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = 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))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Bull Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Больше