
Эта стратегия относится к двуфакторной стратегии обратного отслеживания в области количественной торговли. Она объединяет два фактора стратегии 123 обратного отслеживания и стратегии канала Келтнера, целью которой является обнаружение обратных сигналов и реализация стратегии торговли с низкой ценой покупки и высокой продажи.
Эта стратегия состоит из двух подстратегий. Первая подстратегия - 123 обратная стратегия, которая определяет, находится ли рынок в обратной точке, рассчитывая изменения в цене закрытия в течение двух предыдущих торговых дней в сочетании со стохастическим индикатором. В частности, когда цена закрытия на два дня подряд повышается, а стохастический индикатор ниже 50, посылается сигнал покупки; когда цена закрытия на два дня подряд падает, а стохастический индикатор выше 50, посылается сигнал продажи.
Второй подстратегией является стратегия Keltner channel. Эта стратегия рассчитывает типичные средние и колебательные диапазоны цены за последние n торговых дней.
В конце концов, стратегия рассчитывает окончательный сигнал держания, судя по направлению сигналов двух подстратегий. Когда сигналы двух подстратегий совпадают, высылаются настоящие торговые указания, в противном случае торговля не проводится, для достижения целей двухфакторной проверки.
Наибольшим преимуществом такой стратегии двойного фактора обратного отслеживания является возможность вовремя использовать возможности во время рыночного переворота, чтобы реализовать идею торговли по низкой цене и высокой цене. В то же время, с помощью механизма двойного фактора подтверждения можно в определенной степени уменьшить ложные сигналы и повысить качество сигналов.
В частности, параметры стохастического индикатора 123 обратной стратегии более консервативны, что позволяет эффективно отфильтровывать ложные обратные движения в условиях шока. В то время как канал Keltner отслеживает мысли по Брин-Бенду и может использовать обратные движения, чтобы прорваться вниз. Используя их вместе, можно проверить друг друга, уменьшить количество ненужных сделок и получить более высокую вероятность победы.
Основной риск этой стратегии заключается в том, что выбор времени появления обратного сигнала очень важен. Если возникают последовательные ложные обратные повороты или неправильно выбранный момент появления обратного сигнала, это может привести к тому, что не удастся сохранить полную тенденцию, что может повлиять на конечную прибыль.
Кроме того, двуфакторная стратегия имеет большую сложность в выборе и оптимизации параметров по сравнению с однофакторной стратегией. Параметры обеих подстратегий должны быть тщательно протестированы и оценены, иначе они могут потерпеть неудачу.
Наконец, сами по себе реверсные сделки имеют довольно высокий процент прибыли и убытков, и в случае возникновения нестандартных ситуаций легко разорвать позиции. Это необходимо избежать с помощью строгих стоп-лосс.
Согласно анализу рисков, данная стратегия может быть оптимизирована в следующих аспектах:
Эта стратегия является типичной двуфакторной стратеги обратного отслеживания, которая объединяет две подстратегии 123 обратного отслеживания и канала Келтнера. Целью является точнеееее определение времени покупки и продажи в момент рыночного переворота. При оптимизации параметров и контроле риска эта стратегия может принести значительную сверхприбыль.
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 09/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
// The Keltner Channel, a classic indicator
// of technical analysis developed by Chester Keltner in 1960.
// The indicator is a bit like Bollinger Bands and Envelopes.
//
// 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
KeltnerChn(nPeriod) =>
pos = 0.0
xPrice = sma(hlc3, nPeriod)
xMove = sma(high - low, nPeriod)
reverse = input(false, title="Trade reverse")
xUpper = xPrice + xMove
xLower = xPrice - xMove
pos := iff(close < xLower, -1,
iff(close > xUpper, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Keltner Channel", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nPeriod = input(title="Period", defval=10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKeltnerChn = KeltnerChn(nPeriod)
pos = iff(posReversal123 == 1 and posKeltnerChn == 1 , 1,
iff(posReversal123 == -1 and posKeltnerChn == -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 )