Стратегия двойного реверсивного арбитража - это алгоритм арбитража, который объединяет двойные индикаторы реверсивного арбитража.
Стратегия состоит из двух подстратегий:
123 Система обратного движения: Это из книги
Осиллятор Гэнна: он был адаптирован из книги Роберта Крауша "A W.D. Gann Treasure Discovered". Он оценивает направление колебаний рынка, рассчитывая рост и падение самых высоких и самых низких цен за определенный период.
Торговая логика этой стратегии арбитража заключается в следующем: когда направления сигналов двух подстратегий последовательны, генерируются фактические торговые сигналы. Длинный сигнал - когда обе подстратегии дают длинные сигналы одновременно; короткий сигнал - когда обе подстратегии дают короткие сигналы одновременно.
Наибольшее преимущество этой стратегии заключается в том, что путем интеграции сигналов двух подстратегий она может эффективно отфильтровать ложные сигналы и улучшить точность торговых сигналов.
Основной риск этой стратегии заключается в том, что вероятность несоответствующих направлений торговых сигналов от двух подстратегий относительно велика, что может привести к недостаточному количеству торговых сигналов. Кроме того, сами подстратегии также имеют определенный риск ложных сигналов. Комбинация этих двух факторов может привести к недостаточному количеству сделок для стратегии, таким образом, не в состоянии полностью использовать рыночные возможности.
Для смягчения рисков параметры подстратегий могут быть скорректированы, чтобы умеренно увеличить частоту торговли, или другие индикаторы могут быть объединены, чтобы помочь отфильтровать ложные сигналы.
Стратегия может быть оптимизирована в следующих аспектах:
Стратегия двойного реверсивного арбитража формирует относительно сильные торговые сигналы путем интеграции двух различных типов реверсивных стратегий. Она может эффективно отфильтровывать шум и улучшать качество сигнала, подходящее для захвата возможностей реверсивных операций на рынке. Однако вероятность несоответствующих сигналов от подстратегий относительно велика, что может привести к недостаточной частоте торговли. Кроме того, параметры настройки самих комбинационных стратегий довольно сложны, требуя достаточного тестирования и оптимизации для достижения лучших результатов.
/*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 )