Эта стратегия использует двойные индикаторы RSI для выявления условий перекупа и перепродажи, в сочетании с прорывами полосы Боллинджера для генерации торговых сигналов.
Стратегия использует два RSI с разными временными рамками для оценки краткосрочного и долгосрочного состояния перекупленности / перепроданности. Торговые сигналы генерируются только тогда, когда оба RSI достигают пороговых значений одновременно. Это избегает ложных сигналов от одного RSI.
Боллингерские полосы также используются для выявления ценовых прорывов. Только при выполнении условий RSI и прорывах цены верхней/нижней полосы Боллингерской полосы будет генерироваться торговый сигнал. Подтверждение прорыва помогает избежать сигналов на рынках без тренда.
Наконец, быстрые и медленные МА проверяются на направление тренда.
Комбинированное использование нескольких индикаторов помогает отфильтровать ложные сигналы, торгуя только очевидными тенденциями.
Основной риск заключается в том, что не удается оперативно выявить обратный тренд. Резкие V-образные изменения могут привести к значительным потерям без своевременной остановки потери. Настройка параметров также может повлиять на производительность.
Добавьте стратегии стоп-лосса, чтобы быстро выйти из кризиса.
Включите другие фильтры, например, громкость, чтобы избежать ложных прорывов.
Оптимизируйте параметры, чтобы найти лучшую комбинацию.
Добавьте модели машинного обучения для лучшего определения рыночных режимов.
Улучшить управление рисками, включая размещение позиций, контроль потерь.
Эта стратегия сочетает в себе двойные RSI и Bollinger Bands для получения прибыли от краткосрочных тенденций. Хотя она проста и проста, существуют ограничения, такие как задержки сигналов обмена. Добавление стоп-лосса, фильтрации сигналов, оптимизации параметров может еще больше повысить его надежность и прибыльность.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-12 04:00:00 period: 2m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Madrugada strat copy", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, currency = currency.USD) // === GENERAL INPUTS === // RSI 1 RSIlength = input(10,title="RSI") RSIoverSold = input(65,title="OSold") RSIoverBought = input(35,title="OBought") price = close vrsi = rsi(price, RSIlength) // RSI 2 RSIlength2 = input(6,title="RSI2") RSIoverSold2 = input(65,title="OSold2") RSIoverBought2 = input(35,title="OBought2") price2 = close vrsi2 = rsi(price2, RSIlength2) //Bollinger Bands source = close Bollinger = input(20, minval=1), Desv = input(1.7, minval=0.001, maxval=50) basis = sma(source, Bollinger) dev = Desv * stdev(source, Bollinger) upper = basis + dev lower = basis - dev plot(basis, color=red, title="BB ma") p1 = plot(upper, color=blue, title="BBajo") p2 = plot(lower, color=blue, title="BAlto") fill(p1, p2) //Media movil short = input(3, minval=1, title="Media corta") long = input(10, minval=1, title="Media larga") src = close plot(sma(src, short), color=#00FF00, transp=0, linewidth=1, title="Media rapida") plot(sma(src, long), color=white, transp=0, linewidth=2, title="Media lenta") // === STRATEGY - LONG POSITION EXECUTION === enterLong() => vrsi < 30 and vrsi2 < 27 and cross(lower, price) exitLong() => short < long strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in // === STRATEGY - SHORT POSITION EXECUTION === enterShort() => vrsi > 70 and vrsi2 > 70 and cross(upper, price) strategy.entry(id = "Short", long = false, when = enterShort()) // Definición señales de compra buy_signals = vrsi < 30 and vrsi2 < 27 and cross(lower, price) // Definición señales de venta sell_signals = vrsi > 70 and vrsi2 > 70 and cross(upper, price) // Dibuja las señales de compra venta en franjas de color b_color = (sell_signals) ? color(red,65) : (buy_signals) ? color(green,65) : na bgcolor(b_color) // Dibuja las señales de compra venta coloreando las velas barcolor(buy_signals ? white : sell_signals ? white : na) plot(vrsi, color=white, linewidth=1) plot(vrsi, color=white, linewidth=2) // Crea alarmas usables desde el desplegable para poder enviar mails a haas alertcondition(buy_signals, title='Buy-Signal', message='compra') alertcondition(sell_signals, title='Sell-Signal', message='vende')