Эта стратегия использует индикатор RSI для определения потенциального направления тренда на рынке в сочетании с индикатором Bollinger Bands для определения ключевых зон поддержки и сопротивления и ищет возможности низкого поглощения на рынках трендовых шоков для установления длинных позиций и получения прибыли в перекупленных зонах.
Используйте индикатор RSI для определения потенциального направления тренда рынка. RSI ниже 40 считается перепроданной областью, где рынок может стать бычьим. RSI выше 50 считается перекупленной областью, где рынок может стать медвежьим.
Используйте индикатор Bollinger Bands для определения ключевых зон поддержки и сопротивления. Средняя полоса Bollinger Bands представляет собой скользящую среднюю линию цены, а верхняя и нижняя полосы образуют канал стандартного отклонения цены. Цены, приближающиеся к нижней полосе, представляют собой низкие возможности поглощения.
Когда RSI <40 и цена приближается к нижней полосе Боллинджера, она определяется как низкая абсорбция длинной возможности для установления длинной позиции.
Если показатель RSI >50 или прибыль превышает 50%, закрыть длинные позиции, чтобы получить прибыль и сократить убытки.
Используйте RSI для определения потенциального направления тренда рынка, чтобы избежать торговли против тренда.
Определить точное время входа в комбинации с полосами Боллинджера для определения точек низкого поглощения.
Используйте методологию трендового шока, чтобы избежать ловушки.
Гибкий механизм остановки прибыли и остановки убытков для максимизации прибыли.
Неправильные параметры Боллинджера могут не найти зону поддержки.
Прорывы в тренде или ложные прорывы могут привести к ошибкам в оценках перекупленности и перепродажи.
Неправильное установление точек остановки прибыли и остановки убытков может привести к преждевременному выходу или увеличению потерь.
Оптимизировать параметры Боллинджера для более точной идентификации зон поддержки и сопротивления.
Включите другие индикаторы, такие как MACD и KDJ, чтобы отфильтровать ложные сигналы.
Динамически оптимизируйте алгоритмы остановки прибыли и остановки убытков, чтобы максимизировать прибыль и минимизировать убытки.
Эта стратегия определяет потенциальное направление тренда с помощью RSI, в сочетании с полосами Боллинджера для определения зон поддержки, реализуя низкие покупки и высокие продажи, что является типичной стратегией шока тренда. При надлежащей оптимизации она может стать надежной и стабильной прибыльной количественной стратегией.
/*backtest start: 2023-12-28 00:00:00 end: 2024-01-04 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" ///////////// RSI RSIlength = input(60,title="RSI Period Length") RSIoverSold = 40 RSIoverBought = 50 price = close vrsi = rsi(close, RSIlength) smaLong = sma(close,80) smaShort = sma(close,40) ///////////// Bollinger Bands BBlength = input(20, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev longcondition = (price < BBlower and vrsi < RSIoverSold) // vrsi < RSIoverSold shortcondition = (RSIoverBought and strategy.openprofit > 50 ) or price > BBupper if(longcondition) strategy.entry('buy', strategy.long, when = window()) if(shortcondition) strategy.entry('sell', strategy.short, when = window())