
Двойная реверсивная арбитражная стратегия - это арбитражный алгоритм, объединяющий два подстратегии 123 реверсивных систем и Ганна, которые создают торговые сигналы, когда оба подстратегии сигнализируют одновременно, чтобы осуществить арбитраж.
Эта стратегия состоит из двух подстратегий:
123 обратная система: она происходит от Ульфа Дженсена в книге “Как получить три раза больше прибыли на фьючерсном рынке” стр. 183. Правила торговли: когда цена закрытия выше, чем цена закрытия за предыдущий день, и ниже, чем цена закрытия за предыдущие два дня, делать больше, когда медленная линия K ниже 50; когда цена закрытия ниже, чем цена закрытия за предыдущий день, и выше, чем цена закрытия за предыдущие два дня, делать пустое, когда быстрая линия K выше 50.
Оригинальное название Gann Swingline Oscillation Indicator происходит от книги “Treasures of Gann”, написанной Робертом Краушем. Он определяет направление колебаний рынка, рассчитывая максимумы и минимумы цен в течение определенного периода.
Торговая логика этой стратегии заключается в следующем: фактический торговый сигнал создается, когда сигналы двух подстратегий совпадают. Многосигналный сигнал - это когда две подстратегии одновременно посылают многосигналный сигнал; пустой сигнал - это когда две подстратегии одновременно посылают пустой сигнал.
Наибольшее преимущество этой стратегии заключается в том, что она объединяет сигналы двух подстратегий, что позволяет эффективно отфильтровывать ложные сигналы и повышать точность торговых сигналов. Каждая из двух подстратегий имеет свои преимущества. Система 123-поворота может улавливать внезапные повороты, а индикатор Ганнского колебания позволяет определять сроки поворота.
Основной риск этой стратегии заключается в том, что вероятность того, что торговые сигналы, исходящие от двух подстратегий, будут несовместимыми, что приведет к проблемам с меньшим количеством торговых сигналов. Кроме того, сама подстратегия может иметь определенный риск ложного сигнала. Эти два фактора в сочетании могут привести к недостаточному количеству торговых операций в стратегии и невозможности полноценного использования рыночных возможностей.
Для снижения риска можно скорректировать параметры подстратегии, чтобы ее частота торгов соответственно повысилась, или в сочетании с другими показателями для вспомогательного суждения, фильтрации ложных сигналов. Когда между двумя подстратегиями существует большое отклонение от сигнала, также можно рассмотреть возможность следовать только более надежной стороне.
Эта стратегия может быть оптимизирована в следующих аспектах:
Стратегия двойного обратного возврата создает более сильный торговый сигнал путем интеграции двух различных типов обратных стратегий. Она может эффективно устранять шум, улучшать качество сигнала и подходит для захвата обратных возможностей на рынке. Однако подстратегия выдает более высокую вероятность несоответствующих сигналов, что может привести к недостаточной частоте торгов. Кроме того, сама комбинационная стратегия имеет более сложную параметрическую настройку и требует тщательного тестирования и оптимизации, чтобы получить максимальную эффективность.
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/11/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 Gann Swing Oscillator has been adapted from Robert Krausz's book,
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps
// define market swings.
//
// 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
GannSO(Length) =>
pos = 0.0
xGSO = 0.0
xHH = highest(Length)
xLL = lowest(Length)
xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1,
iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0)))
pos := iff(xGSO > 0, 1,
iff(xGSO < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Gann Swing Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthGSO = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posGannSO = GannSO(LengthGSO)
pos = iff(posReversal123 == 1 and posGannSO == 1 , 1,
iff(posReversal123 == -1 and posGannSO == -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 )