Эта стратегия первоначально была объединена с реверсивной стратегией, предложенной Ульфом Дженсеном на странице 183 в его книге “Как я тройную сумму на фьючерсных рынках”, и сравнительным показателем относительной силы, чтобы получить более сильный сигнал. Эта комбинационная стратегия называется комбинационная количественная стратегия, основанная на реверсии и относительной силе.
Основная идея этой стратегии заключается в том, чтобы одновременно использовать несколько факторов для суждения, в сочетании с обратным фактором и сравнением двух сигналов относительной силы, чтобы купить или продать только тогда, когда оба сигнала появляются одновременно, чтобы повысить стабильность стратегии.
Первая часть - это стратегия реверса. Эта стратегия выполняется при следующих условиях: цена закрытия за последние два дня непрерывно повышалась, и на 9 день стохастическая медленная линия находилась ниже 50. Условие занижения: цена закрытия за последние два дня непрерывно падала, и на 9 день стохастическая быстрая линия находилась выше 50.
Вторая часть - показатель сравнительной силы. Этот показатель рассчитывает движущееся среднее N-дневного изменения цены закрытия целевой акции по сравнению с индексом и сравнивается с предварительно установленными диапазонами покупки, продажи и позиции. Когда показатель входит в диапазон покупки, он становится пустым, когда он входит в диапазон продажи, в случае проникновения в диапазон покупки, в случае проникновения в диапазон продажи, в случае проникновения в диапазон продажи, в случае проникновения в диапазон продажи, в случае проникновения в диапазон продажи, в случае проникновения в диапазон продажи.
Комбинированная стратегия одновременно оценивает сигналы двух частей и совершает соответствующую операцию по покупке или продаже только в том случае, если оба посылают одинаковый сигнал (двойная покупка или двойная продажа).
Эта стратегия в сочетании с обратным фактором и фактором относительной интенсивности позволяет использовать преимущества обоих. Обратная стратегия позволяет захватить крайние точки в краткосрочной перспективе; Стратегия относительной интенсивности позволяет уловить основные тенденции в крупных городах.
Кроме того, стохастический индикатор, являющийся индикатором разграничения перекупа и перепродажи, лучше определяет переломные моменты. Комбинации с использованием трендовых индикаторов, таких как движущиеся средние, также могут создавать более зрелую комбинационную стратегию.
Наибольший риск обратной стратегии заключается в невозможности определить момент обратного движения рынка, который может продолжаться после убытков. В этом случае может сыграть роль индикатор относительной силы, чтобы определить, изменилась ли большая тенденция.
Риск относительно сильной стратегии заключается в том, что параметры индикатора установлены неправильно, что приводит к созданию слишком большого количества ошибочных сигналов. В этом случае обратная стратегия может играть роль фильтра, уменьшая ненужные сделки.
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестирование большего количества обратных факторов в поисках более эффективной стратегии обратного обращения. В настоящее время используется только простая N-дневная новая высокая / новая низкая статистическая стратегия.
Тестирование и оптимизация параметров показателей относительной прочности для поиска оптимального сочетания параметров. Текущие параметры настроек являются субъективными и могут быть не оптимальными.
Увеличение стратегии стоп-лосса. В настоящее время в этой стратегии нет установки стоп-лосса, а увеличение разумного стоп-лосса позволяет контролировать риск потери.
Можно тестировать индексы различных стандартов, а затем рассчитывать их силу по отношению к целевым акциям, чтобы найти наиболее подходящий индекс.
Эта стратегия в сочетании с обратным фактором и фактором относительной интенсивности, которая позволяет использовать преимущества обоих для улучшения качества сигнала, является более зрелой комбинационной стратегией.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/10/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
// Comparative Relative Strength Strategy for ES
//
// 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
CRS(a, b, len, BuyBand, SellBand, CloseBand) =>
pos = 0.0
as = security(a, timeframe.period, close)
bs = security(b, timeframe.period, close)
nRes = sma(as/bs, len)
pos := iff(nRes > BuyBand, 1,
iff(nRes < SellBand, -1,
iff(pos[1] == 1 and nRes < CloseBand, 0,
iff(pos[1] == -1 and nRes > CloseBand, 0, nz(pos[1], 0)))))
pos
strategy(title="Combo Backtest 123 Reversal & Comparative Relative Strength", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
a = syminfo.tickerid
b = input("BTC_USDT:swap", type=input.symbol)
LengthCRS = input(10)
BuyBand = input(0.9988, step = 0.0001)
SellBand = input(0.9960, step = 0.0001)
CloseBand = input(0.9975, step = 0.0001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCRS = CRS(a, b, LengthCRS, BuyBand, SellBand, CloseBand)
pos = iff(posReversal123 == 1 and posCRS == 1 , 1,
iff(posReversal123 == -1 and posCRS == -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 )