トレンド強化RSI-ADX線形回帰予測取引戦略

RSI ADX ML LINEAR REGRESSION DMI
作成日: 2025-02-21 13:46:54 最終変更日: 2025-02-21 13:46:54
コピー: 0 クリック数: 433
2
フォロー
319
フォロワー

トレンド強化RSI-ADX線形回帰予測取引戦略 トレンド強化RSI-ADX線形回帰予測取引戦略

概要

この戦略は,技術指標と機械学習の方法を組み合わせたトレンド追跡システムである.この戦略は,相対的に強い指標 ((RSI),平均トレンド指標 ((ADX) と線形回帰予測モデルを統合し,多次元分析によって市場の傾向と取引機会を決定する.この戦略は,5分間の周期で動作し,RSIの超買超売信号,ADXのトレンド確認と線形回帰予測を組み合わせた方法で,完全な取引意思決定システムを実現する.

戦略原則

戦略は3つのフィルタリングメカニズムを使用して取引信号を特定します.

  1. RSI指標は,OverboughtOverSold条件を識別するために使用され,RSIが30を突破すると (OverSell) プラスシグナルを生じ,70を突破すると (OverBuy) ショートショートシグナルを生じます.
  2. ADX指標は,トレンドの強さを確認するために使用され,ADXが25以上である場合にのみ取引を許可し,強いトレンドの環境で操作することを保証します.
  3. 線形回帰予測モジュールは,過去20回の価格サイクルデータを分析し,価格動向の斜率と切差を計算し,次の価格レベルを予測する 戦略は,この3つの条件が同時に満たされた場合にのみ取引信号を発する.

戦略的優位性

  1. 多次元検証:技術指標と統計予測の組み合わせにより,より信頼性の高い取引シグナルを提供する
  2. トレンド確認:ADXフィルタリングにより,強いトレンド市場でのみ取引を保証し,揺れ市場の偽信号を避ける
  3. 予測能力: 価格動向を先見的に分析できる線形回帰予測モデルを導入
  4. 柔軟性:主要パラメータは,異なる市場条件に合わせて調整できます
  5. 明確な実行:取引規則が明確で,シグナル生成条件が厳格で,主観的な判断の影響が軽減される

戦略リスク

  1. パラメータの感受性:戦略の効果は,RSI,ADX,および回帰周期のパラメータ設定に強く依存する
  2. 遅滞のリスク:技術指標自体は遅滞しており,入場時間が少し遅れる可能性があります.
  3. トレンド逆転リスク: システム反応が遅れてしまう可能性のある,突然のトレンド逆転
  4. 過度に適合するリスク: 線形回帰予測は,予測の正確性に影響を及ぼす,歴史的データに過度に適合する可能性がある
  5. 市場条件依存: 戦略は不安定な市場ではうまくいかない

戦略最適化の方向性

  1. ダイナミックパラメータ調整: 市場波動に応じてRSIとADXのパラメータを自動的に調整する自己適応パラメータメカニズムを導入
  2. 市場環境のフィルタを追加:波動性指標を追加し,異なる市場環境で戦略パラメータを調整するか,取引を一時停止する
  3. 予測モデルの最適化: 予測の正確性を高めるために,LSTMやランダムな森のようなより複雑な機械学習モデルを使用することを検討する
  4. リスク管理の改善: ダイナミックなストップ・メカニズムを追加し,市場の変動に応じてストップ・ポジションを調整する
  5. 取引時間フィルターを追加し,流動性の低い時期や重要なプレスリリース期間を避ける

要約する

この戦略は,伝統的な技術分析と近代的な予測方法を組み合わせて,比較的完全な取引システムを構築している.戦略の核心的な優点は,偽信号の影響を効果的に軽減できる多次元信号確認機構である.予測モデルを改良し,パラメータ調整機構を最適化し,リスク管理を強化することにより,戦略には大きな最適化余地がある.実際の適用では,投資家は,特定の市場特性と自身のリスク承受能力に応じて,戦略パラメータを適切に調整することを推奨している.

ストラテジーソースコード
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("RSI + ADX + ML-like Strategy (5min)", overlay=true)

// ———— 1. Inputs ————
rsiLength = input(14, "RSI Length")
adxLength = input(14, "ADX Length")
mlLookback = input(20, "ML Lookback (Bars)")

// ———— 2. Calculate Indicators ————
// RSI
rsi = ta.rsi(close, rsiLength)

// ADX
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxLength)

// ———— 3. Simplified ML-like Component (Linear Regression) ————
var float predictedClose = na
sumX = math.sum(bar_index, mlLookback)          // FIXED: Using math.sum()
sumY = math.sum(close, mlLookback)              // FIXED: Using math.sum()
sumXY = math.sum(bar_index * close, mlLookback) // FIXED: Using math.sum()
sumX2 = math.sum(bar_index * bar_index, mlLookback)

slope = (mlLookback * sumXY - sumX * sumY) / (mlLookback * sumX2 - sumX * sumX)
intercept = (sumY - slope * sumX) / mlLookback
predictedClose := slope * bar_index + intercept

// ———— 4. Strategy Logic ————
mlBullish = predictedClose > close
mlBearish = predictedClose < close

enterLong = ta.crossover(rsi, 30) and adx > 25 and mlBullish
enterShort = ta.crossunder(rsi, 70) and adx > 25 and mlBearish

// ———— 5. Execute Orders ————
strategy.entry("Long", strategy.long, when=enterLong)
strategy.entry("Short", strategy.short, when=enterShort)

// ———— 6. Plotting ————
plot(predictedClose, "Predicted Close", color=color.purple)
plotshape(enterLong, "Buy", shape.triangleup, location.belowbar, color=color.green)
plotshape(enterShort, "Sell", shape.triangledown, location.abovebar, color=color.red)