この戦略は,相対強度指数 (RSI),重度の移動平均値 (WMA),指数関数移動平均値 (EMA) を組み合わせたトレンドフォローシステムである.複数の技術指標を使用することで,この戦略はトレンド逆転点での市場勢力の変化を捕捉し,取引信号を生成する.システムは,トレンド方向性を確認するためにWMAとEMAクロスオーバーを使用して,トレード精度を向上させるために市場条件をフィルターするためにRSIを組み込む.
戦略の基本論理は次の主要な要素に基づいています 1. RSI の 計算 は,市場 の 買い過ぎ/売り過ぎ の 状態 を 測定 する 14 期 の 設定 を 用いる. 2. 45 期間のWMAと 89 期間のEMAのクロスオーバーは,トレンド移行を確認する 3. 入国条件: - 長信号: WMA は EMA と RSI < 50 を越え - 短信号:WMAはEMAとRSI>50を下回る 4. システムは,RSIの色の変化を通じて市場状況を可視化し,RSI>70と赤で表示します. 5. ニュートラル ゾーン を 識別 する ため に,青い 背景 が RSI 30~70 の 範囲 に 設定 さ れ て い ます
これは複数の技術指標に基づいたトレンドフォロー戦略であり,RSI,WMA,EMAを組み合わせて,市場のトレンド逆転点を把握し,取引の安定性を維持する.特定の遅れと誤った信号リスクがあるにもかかわらず,適切な最適化およびリスク管理措置により,戦略は良い実用的な価値と拡大の余地があります.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true) // RSI Settings rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // WMA and EMA Settings wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings") wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings") emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings") emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings") // RSI Calculation change = ta.change(rsiSourceInput) up = ta.rma(math.max(change, 0), rsiLengthInput) down = ta.rma(-math.min(change, 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // WMA and EMA Calculation wma = ta.wma(rsi, wmaLengthInput) ema = ta.ema(rsi, emaLengthInput) // RSI Color Logic rsiColor = rsi > 70 ? color.new(color.green, 100 - math.round(rsi)) : rsi < 30 ? color.new(color.red, math.round(rsi)) : color.new(color.blue, 50) // Plot RSI, WMA, and EMA plot(rsi, "RSI", color=rsiColor) plot(wma, title="WMA", color=wmaColorInput, linewidth=2) plot(ema, title="EMA", color=emaColorInput, linewidth=2) // Highlight RSI Area between 30 and 70 bgcolor(rsi >= 30 and rsi <= 70 ? color.new(color.blue, 90) : na) // Entry and Exit Conditions longCondition = ta.crossover(wma, ema) and rsi < 50 shortCondition = ta.crossunder(wma, ema) and rsi > 50 if (longCondition) strategy.entry("Long", strategy.long) alert("Buy Signal: WMA crossed above EMA, RSI < 50", alert.freq_once_per_bar) if (shortCondition) strategy.entry("Short", strategy.short) alert("Sell Signal: WMA crossed below EMA, RSI > 50", alert.freq_once_per_bar) // Optional: Plot Buy/Sell Signals on Chart plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")