
Стратегия подтверждения дисперсии использует двойной сигнал дисперсии RSI и Awesome Oscillator для определения более надежного времени входа в рынок. Когда цены формируют новый высокий или новый низкий, а RSI и AO формируют обратный высокий или низкий, это сигнал дисперсии. Эта стратегия требует, чтобы оба показателя были одновременно рассеяны, чтобы отфильтровать некоторые ложные сигналы и повысить эффективность входа в рынок.
Эта стратегия основана на распределении между ценовыми колебаниями и значениями RSI и AO для определения точки покупки и продажи.
Многоволосая дисперсия: цены формируют более поздние новые низкие точки, в то время как RSI и AO формируют более поздние новые высокие точки, то есть цены падают, а RSI и AO растут, образуя многоволосая дисперсия сигналов.
Пустой распад: цены формируют более поздние новые высокие точки, в то время как RSI и AO формируют более поздние новые низкие точки, то есть цены растут, а RSI и AO падают, образуя сигнал пустого распада.
Стратегия требует, чтобы оба показателя одновременно удовлетворяли рассеянным условиям, чтобы избежать ошибочного сигнала, вызванного ложным рассеянием одного показателя. Когда рассеянный сигнал создан, вблизи нижней полосы или верхней полосы с бурином устанавливается стоп-старт, конкретная стоп-старт - выше нижней полосы или ниже верхней полосы.
Эта стратегия имеет следующие преимущества:
Фильтрация двойных показателей повышает надежность сигнала и предотвращает ложный рассеянный сигнал одного показателя.
Показатели используют рассеянные характеристики для определения точки купли-продажи и меньшей вероятности отзыва.
Сигналы рассеивания имеют хорошую продолжительность и большую прибыльность.
Устанавливайте убытки вблизи ключевой поддержки или сопротивления, чтобы уменьшить вероятность крупных потерь.
Однако эта стратегия также несет в себе некоторые риски:
Условия двойной фильтрации действуют одновременно меньше времени и могут упустить часть возможностей торговли.
Распространение - это не стопроцентно надежный сигнал, в отдельных случаях может привести к потере.
Неправильная параметровая настройка брин-пояса может привести к тому, что остановка станет слишком широкой или слишком узкой.
Эта стратегия может быть оптимизирована в следующих аспектах:
Регулирование параметров цикла рассеянного суждения, оптимизация параметров рассеянного сигнала.
Тестируйте различные способы остановки, такие как трейлинг-стоп или динамический стоп.
Добавление фильтров на другие показатели, такие как объем сделок, еще больше повышает надежность сигнала.
В комплексе учитываются такие факторы, как тенденции, поддержка и сопротивление, чтобы идентифицировать качество рассеянного сигнала.
Подтверждение стратегии распространения через двойные сигналы распространения RSI и AO для определения времени выхода на рынок, двойной механизм фильтрации эффективно уменьшает ложные сигналы, повышает вероятность получения прибыли. Стратегия также настраивает остановку убытков в ключевых точках для контроля риска, имеет лучшие характеристики прибыли от риска. С помощью оптимизации параметров, увеличения фильтрации сигналов и т. Д.
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Confirmed Divergence Strategy", overlay=true)
source = close
length = input(30, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
// SETTING UP VARIABLES //
src = close
// RSI //
rsiprd = input(title="RSI period",defval=14)
rv = rsi(src,rsiprd)
ob = input(title="Overbought Level", defval=70)
os = input(title="Oversold Level", defval=30)
lengthAO1=input(title="Awesome Short MA", defval=5, minval=1) //5 periods
lengthAO2=input(title="Awesome Long MA", defval=34, minval=1) //34 periods
//Awesome//
AO = sma((high+low)/2, lengthAO1) - sma((high+low)/2, lengthAO2)
// look back periods //
x = input(title = "short lookback period",defval=5)
z = input(title = "long lookback period",defval=25)
// END SETUP //
////////////////////////
// BULLISH DIVERGENCE //
////////////////////////
// define lower low in price //
srcLL = src > lowest(src,x) and lowest(src,x)<lowest(src,z)[x]
// define higher low in rsi //
rsiHL = rv>lowest(rv,x) and lowest(rv,x) > lowest(rv,z)[x] and lowest(rv,z)<os
// define higher low in AO //
aoHL = AO > lowest(AO,x) and lowest(AO,x) > lowest(AO,z)[x] and lowest(AO, x) < 0
BullishDiv = srcLL and rsiHL and aoHL
////////////////////////
// BEARISH DIVERGENCE //
////////////////////////
// define higher high in price //
srcHH = src < highest(src,x) and highest(src,x)>highest(src,z)[x]
// define lower high in RSI //
rsiLH = rv<highest(rv,x) and highest(rv,x) < highest(rv,z)[x] and highest(rv,z)>ob
// define lower high in AO //
aoLH = AO<highest(AO,x) and highest(AO,x) < highest(AO,z)[x] and highest(AO, x) > 0
BearishDiv = srcHH and rsiLH and aoLH
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
if (BullishDiv)
strategy.entry("DivLE", strategy.long, stop=lower, oca_name="BullishDiv",comment="DivLE")
else
strategy.cancel(id="DivLE")
if (crossover(close, lower))
strategy.close("DivSE")
if (crossunder(close, upper))
strategy.close("DivLE")
if (BearishDiv)
strategy.entry("DivSE", strategy.short, stop=upper, oca_name="BearishDiv",comment="DivSE")
else
strategy.cancel(id="DivSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)