Стратегия комбинированной реверсии, основанная на стохастическом факторе реверсии и ключевом сигнале реверсии

Автор:Чао Чжан, Дата: 2023-12-13 17:54:34
Тэги:

img

Обзор

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

Принцип стратегии

Стохастический коэффициент обратного отклонения

Эта часть происходит из стратегии обратного движения, представленной в книге Ульфа Дженсена "Как я утроил свои деньги на фьючерсном рынке".

Это означает, что цена продолжает расти в краткосрочной перспективе, но стохастический индикатор показывает, что акция чрезмерно куплена, что предвещает возможное обратное падение.

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

Ключевой сигнал обратного движения

Ключевой обратный сигнал относится к K-линейной модели, когда цена достигает нового максимума или минимума в течение дня, а затем заметно изменяется.

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

Преимущества стратегии

  1. Объединение нескольких индикаторов и K-линейных моделей повышает точность торговых сигналов.

  2. Построен на теории обратного действия, чтобы поймать потенциальные возможности обратного действия.

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

  4. Ключевые сигналы отмены могут предотвратить ложные отмены и снизить риски торговли.

Риски и оптимизация

  1. Когда появляются паттерны обратного движения, рынок, возможно, действительно не изменился, что создает риски обратного вызова.

  2. Параметры стохастического индикатора могут быть оптимизированы или объединены с другими индикаторами для подтверждения.

  3. Эта стратегия основана в основном на внутридневных и краткосрочных торговых операциях и не может справиться с долгосрочными тенденциями рынков.

Заключение

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


/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-12 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/12/2020
// 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
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
//
// 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

KRU(nLength) =>
    pos = 0.0
    xLL = lowest(low[1], nLength)
    C1 = iff(low < xLL and close > close[1], true, false)
    pos := iff(C1, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & Key Reversal Up", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new low in prices.")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKRU = KRU(nLength)
pos = iff(posReversal123 == 1 and posKRU == 1 , 1,
	   iff(posReversal123 == -1 and posKRU == -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 )

Больше