
Esta estrategia es un sistema de trading cuantitativo que integra los tres principales indicadores técnicos: índice de fuerza relativa (RSI), media móvil (MA) y bandas de Bollinger (BB). Esta estrategia analiza exhaustivamente las señales de múltiples indicadores técnicos para encontrar las mejores oportunidades comerciales en las tendencias y fluctuaciones del mercado. La estrategia utiliza la cruz dorada y la cruz muerta de MA20 y MA50 para juzgar la tendencia a mediano plazo, y combina las señales de sobrecompra y sobreventa del RSI y la regresión de ruptura de las pistas superior e inferior de las Bandas de Bollinger para construir una decisión comercial completa. sistema de fabricación.
La lógica central de la estrategia se basa en las tres dimensiones siguientes:
Las condiciones largas deben cumplirse al mismo tiempo: RSI < 25 (sobreventa) + MA20 > MA50 (tendencia alcista) + precio < trayectoria inferior de la Banda de Bollinger (sobreventa) Las condiciones de venta en corto deben cumplirse al mismo tiempo: RSI>80 (sobrecompra) + MA20 pista superior de la banda de Bollinger (sobreascendente)
Esta estrategia construye un sistema comercial relativamente completo a través de la cooperación coordinada de múltiples indicadores técnicos. La estrategia funciona bien en mercados con tendencias claras, pero es necesario prestar atención a los cambios en el entorno del mercado y realizar los ajustes correspondientes. Se espera que mediante la optimización y mejora continuas, esta estrategia logre rendimientos estables en el comercio real.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI + MA + BB30 Strategy", overlay=true)
// === Cài đặt RSI ===
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(80, title="RSI Overbought Level")
rsiOversold = input(25, title="RSI Oversold Level")
rsi = ta.rsi(close, rsiLength)
// === Cài đặt MA ===
maLength20 = input(20, title="MA20 Length")
maLength50 = input(50, title="MA50 Length")
ma20 = ta.sma(close, maLength20)
ma50 = ta.sma(close, maLength50)
// === Cài đặt Bollinger Bands (BB30) ===
bbLength = input(30, title="Bollinger Bands Length")
bbStdDev = input(2, title="BB Standard Deviation")
[bbUpper, bbBasis, bbLower] = ta.bb(close, bbLength, bbStdDev)
// === Điều kiện giao dịch ===
// Điều kiện Long
longCondition = (rsi < rsiOversold) and (ma20 > ma50) and (close < bbLower)
// Điều kiện Short
shortCondition = (rsi > rsiOverbought) and (ma20 < ma50) and (close > bbUpper)
// === Mở lệnh giao dịch ===
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// === Hiển thị chỉ báo trên biểu đồ ===
// Hiển thị MA
plot(ma20, color=color.blue, title="MA20")
plot(ma50, color=color.red, title="MA50")
// Hiển thị Bollinger Bands
plot(bbUpper, color=color.green, title="BB Upper")
plot(bbBasis, color=color.gray, title="BB Basis")
plot(bbLower, color=color.green, title="BB Lower")
// Hiển thị RSI và mức quan trọng
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dashed)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dashed)
plot(rsi, color=color.purple, title="RSI")