
Esta estratégia é um sistema de negociação quantitativa que integra os três principais indicadores técnicos: índice de força relativa (RSI), média móvel (MA) e bandas de Bollinger (BB). Esta estratégia analisa de forma abrangente os sinais de vários indicadores técnicos para encontrar as melhores oportunidades de negociação em tendências e flutuações de mercado. A estratégia usa a cruz dourada e a cruz morta de MA20 e MA50 para julgar a tendência de médio prazo e combina os sinais de sobrecompra e sobrevenda do RSI e a regressão de ruptura das faixas superior e inferior das Bandas de Bollinger para construir uma tomada de decisão comercial completa. sistema de fabricação.
A lógica central da estratégia baseia-se nas seguintes três dimensões:
As condições longas devem ser atendidas ao mesmo tempo: RSI < 25 (sobrevenda) + MA20 > MA50 (tendência ascendente) + preço < faixa inferior da Banda de Bollinger (sobrevenda) As condições de venda a descoberto devem ser atendidas ao mesmo tempo: RSI>80 (sobrecompra) + MA20 faixa superior da Banda de Bollinger (sobre-subida)
Essa estratégia cria um sistema de negociação relativamente completo por meio da cooperação coordenada de vários indicadores técnicos. A estratégia tem bom desempenho em mercados com tendências claras, mas é necessário prestar atenção às mudanças no ambiente de mercado e fazer os ajustes correspondentes. Por meio de otimização e melhoria contínuas, espera-se que esta estratégia alcance retornos estáveis em negociações reais.
/*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")