資源の読み込みに... 荷物...

モメントとボリュームの確認を持つマルチ移動平均取引システム

作者: リン・ハーンチャオチャン開催日:2024年12月12日14時27分59秒
タグ:マルチVWMAWMARSIADX

img

概要

この戦略は,複数の移動平均値,相対強度指数 (RSI),平均方向指数 (ADX),およびボリューム分析を組み合わせた包括的な定量取引システムである.この戦略は,複数の技術指標を通じてトレンド確認に基づいて取引を実行し,取引の信頼性を高めるためにボリュームとモメントフィルターを使用する.

戦略の原則

基本的な論理はいくつかの重要な要素に基づいています.

  1. 多重移動平均システムで,ダブルハルマ,ボリューム重量移動平均 (VWMA),基本重量移動平均 (WMA) を使用する
  2. ADX指標を用いたトレンド強さの評価,強いトレンドでの取引のみ
  3. 極端な市場条件を避けるため,RSIをフィルタリングする
  4. トレーディング・シグナルの限度値以上のボリュームを必要とするボリューム分析
  5. N1 と n2 の線交差点による取引方向の決定

多重移動平均システムでは基本的トレンド判断ができるようになり,ADXは強いトレンドでの取引のみを保証し,RSIは極端な傾向を避けるのに役立ちます.そしてボリューム分析は市場活動が活発な時期での取引を保証します.

戦略 の 利点

  1. 複数の確認メカニズムにより,偽のブレイクリスクが軽減される
  2. テクニカル指標とボリューム分析の統合により取引の信頼性が向上
  3. RSIのフィルタリングは,不利な市場状況下で入場を避ける
  4. ADXの使用は,明確なトレンドでの取引のみを保証し,勝率を向上させます
  5. 容量要求は市場合意の確認に役立つ
  6. 調整可能なパラメータを持つ明確な戦略論理

戦略リスク

  1. 複数のフィルタが使われてしまうと,取引機会を逃す可能性があります.
  2. 市場での業績が低下する可能性がある
  3. パラメータの最適化で過適性リスク
  4. 移動平均系は,急速な逆転に遅れることがあります.
  5. 低流動性の市場での機会を制限する可能性があります

リスク管理の勧告

  • 市場特性を考慮してパラメータを調整する
  • 適切なストップ・ロストとテイク・プロフィートのレベルを設定する
  • 制御位置のサイズ設定
  • 定期的な戦略バックテスト

戦略の最適化

  1. 市場状況に基づく適応パラメータを導入する
  2. 高波動期間のポジションを調整するために波動性フィルターを追加する
  3. トレイリングストップによる出口メカニズムの改善
  4. 絶対値ではなく相対値を使用して音量フィルターを最適化します
  5. 重要なニュースリリースを避けるために時間フィルターを追加します
  6. より良いリスク評価のために価格変動指標を追加することを検討する

概要

この戦略は,複数の技術指標が協調して動作することで,比較的完全なトレンドフォローシステムを構築する.その主な特徴は,さまざまなフィルターを通じてリスクを制御しながら,取引の信頼性を向上させるために複数の確認を使用することです.いくつかの機会を逃しても,一般的に取引の安定性を向上するのに役立ちます.提案された最適化方向性は,戦略のさらなる強化に余地を提供します.


/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Optimized Multi-MA Strategy with Volume, ADX and RSI", overlay=true)

// Kullanıcı Parametreleri
keh = input.int(3, title="Double HullMA", minval=1)
teh = input.int(3, title="Volume-Weighted MA", minval=1)
yeh = input.int(75, title="Base Weighted MA", minval=1)
rsiPeriod = input.int(14, title="RSI Period", minval=1)
adxPeriod = input.int(14, title="ADX Period", minval=1)
volumeLookback = input.int(10, title="Volume Lookback Period", minval=1)  // Son X mumun hacmi
adxThreshold = input.int(20, title="ADX Trend Strength Threshold", minval=1) // ADX için trend gücü eşiği

// Hareketli Ortalamalar
rvwma = ta.vwma(close, teh)
yma = ta.wma(close, yeh)
n2ma = 2 * ta.wma(close, math.round(keh / 2))
nma = ta.wma(close, keh)
diff = n2ma - nma
sqrtKeh = math.round(math.sqrt(keh))
n1 = ta.wma(diff, sqrtKeh)
n2 = ta.wma(diff[1], sqrtKeh)

// ADX Hesaplaması
trueRange = ta.rma(ta.tr, adxPeriod)
plusDM = ta.rma(math.max(high - high[1], 0), adxPeriod)
minusDM = ta.rma(math.max(low[1] - low, 0), adxPeriod)
plusDI = (plusDM / trueRange) * 100
minusDI = (minusDM / trueRange) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adxPeriod)
trendIsStrong = adx > adxThreshold

// RSI Filtreleme
rsiValue = ta.rsi(close, rsiPeriod)
rsiFilter = rsiValue > 30 and rsiValue < 70  // Aşırı alım ve aşırı satım bölgelerinin dışında olmak

// Hacim Filtresi
volumeThreshold = ta.sma(volume, volumeLookback)  // Ortalama hacim seviyesi
highVolume = volume > volumeThreshold

// Sinyal Şartları (Sadece güçlü trendler ve rsi'nın aşırı bölgelerde olmaması)
longCondition = n1 > n2 and close > rvwma and trendIsStrong and rsiFilter and highVolume
shortCondition = n1 < n2 and close < rvwma and trendIsStrong and rsiFilter and highVolume

// Hacim Filtresi ile İşaretler
plotshape(series=longCondition and highVolume ? close : na, style=shape.triangleup, location=location.belowbar, color=color.blue, size=size.small, title="High Volume Long Signal")
plotshape(series=shortCondition and highVolume ? close : na, style=shape.triangledown, location=location.abovebar, color=color.purple, size=size.small, title="High Volume Short Signal")

// Strateji Giriş ve Çıkış Şartları
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Görsel Göstergeler
plot(n1, color=color.green, title="N1 Line")
plot(n2, color=color.red, title="N2 Line")
plot(rvwma, color=color.yellow, linewidth=2, title="VWMA")
plot(yma, color=color.orange, title="Base Weighted MA")


関連性

もっと