この戦略は,相対強度指数 (RSI),移動平均 (MA),ボリンジャーバンド (BB) の3つの主要な技術指標を統合した定量的な取引システムである.この戦略は,複数の技術指標からのシグナルを包括的に分析することによって,市場のトレンドと変動の最適な取引機会を求めている.中期トレンドを判断するためにMA20とMA50クロスオーバーを使用して,RSIオーバーバイト/オーバーセールシグナルとボリンジャーバンドのブレイク/レグレッションと組み合わせて,完全な取引決定システムを構築する.
基本的な論理は3つの次元に基づいています
ロング条件は同時に RSI<25 (超売り) +MA20>MA50 (上向き) +価格
この戦略は,複数の技術指標の協調的な組み合わせを通じて,比較的完全な取引システムを構築する.明確なトレンドのある市場で優れたパフォーマンスを発揮するが,市場の環境の変化と対応する調整に注意を払う必要がある.継続的な最適化と改善を通じて,戦略はライブ取引で安定した収益を達成する可能性がある.
/*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")