Двойная стратегия следования импульсу и тренду


Дата создания: 2024-01-22 17:04:36 Последнее изменение: 2024-01-22 17:04:36
Копировать: 0 Количество просмотров: 614
1
Подписаться
1617
Подписчики

Двойная стратегия следования импульсу и тренду

Обзор

Эта стратегия объединяет два показателя относительно сильного и слабого индекса ((RSI) и буринской полосы, реализуя логику двойного подтверждения позиции открытия и позиции. Эта стратегия посылает торговый сигнал, когда RSI и буринская полоса одновременно показывают сигнал о перекупке или перепродаже. Это может эффективно уменьшить ложные сигналы и повысить стабильность стратегии.

Стратегический принцип

  1. Логика оценки RSI
    • RSI превысит 45 и будет считаться сигналом о перепродаже
    • Если RSI превышает 55, это сигнал о перекупке.
  2. Брин с логикой суждения
    • Если цены на биржевые товары поднимаются и опускаются, это считается перепродажей.
    • По его словам, это была “покупка”, когда “Брин” вышел на рельсы по низким ценам.
  3. Логика двойного подтверждения
    • Позиции будут открываться только тогда, когда RSI и Брин покажут одновременно сигнал о перепродаже
    • Позиции открываются только тогда, когда RSI и Брин показывают одновременные сигналы о перекупке

Вышеуказанная логика обеспечивает стабильную стратегию открытия позиций с двойным подтверждением.

Анализ преимуществ

  1. Двойной механизм подтверждения позволяет отфильтровывать большое количество громких сделок, избегая ненужных транзакций, что снижает стоимость сделок и повышает доходность.

  2. RSI позволяет эффективно идентифицировать тренды и обратные повороты, а BRI позволяет эффективно оценивать поддержку и сопротивление.

  3. Настройка параметров гибкая, может быть скорректирована в соответствии с различными сортами и торговыми предпочтениями, адаптивная.

Анализ рисков

  1. В шокирующих ситуациях RSI и BRI могут одновременно подавать ошибочные сигналы, что приводит к ненужным убыткам. Можно снизить вероятность ошибочного суждения, оптимизировав параметры.

  2. Двойной механизм подтверждения немного увеличивает задержку входа, и вы можете пропустить очень короткую линию. Не подходит для стратегий, которые очень чувствительны к задержке.

  3. Эта стратегия очень чувствительна к параметрам, и неправильная параметровая настройка может значительно снизить доходность. Необходимо полное обратное обследование и резюме, чтобы найти оптимальную комбинацию параметров.

Направление оптимизации

  1. Можно тестировать RSI на разных периодах, чтобы найти наиболее подходящие параметры и улучшить эффективность индикатора.

  2. Можно добавить логику остановки, установить разумный мобильный или фиксированный остановку, чтобы контролировать риск одиночных потерь.

  3. Можно проверить параметры ширины каналов ленты Брин, оптимизировать диапазон каналов и повысить эффективность идентификации ленты Брин.

  4. Можно тестировать различные ценовые входы, такие как цена закрытия, цена максимума, цена минимума и т. д., чтобы найти оптимальные ценовые входы для повышения стабильности стратегии.

Подвести итог

Эта стратегия успешно сочетает в себе RSI и BRI, реализуя логику двойного подтверждения, гарантируя достаточные торговые возможности и эффективно снижая шум торговли. С разумной оптимизацией параметров и контролем риска эта стратегия может стать очень стабильной и надежной стратегией для отслеживания тенденций и торговли.

Исходный код стратегии
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy
//
// Version 1.0
// Idea by ChartArt on January 14, 2015.
//
// This strategy uses a modfied RSI to sell
// when the RSI increases over the value of 55
// (or to buy when the value falls below 45),
// with the classic Bollinger Bands strategy
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


///////////// RSI
RSIlength = input( 16 ,title="RSI Period Length") 
RSIvalue = input( 45 ,title="RSI Value Range") 
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = 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
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)