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

複数のボリューム・モメンタム・コンビネッド・トレーディング・戦略

作者: リン・ハーンチャオチャン,日付: 2024年11月12日 10:52:54
タグ:OBVRSIMFICMFVWAPVRSI

img

概要

この戦略は7つの異なるボリューム指標に基づいた包括的な取引戦略である.この戦略は,包括的な取引システムを構築するために,OBV,A/Dライン,CMF,MFI,VWAP,ボリュームオシレーター,ボリュームRSIを含む複数のボリューム指標を統合している.コアコンセプトは,複数の指標の確認を通じて取引の精度を向上させ,4以上の指標が同時に購入または売却信号を与える場合にのみ取引を実行することである.

戦略の原則

この戦略は,以下を含む複数の指標検証方法を採用しています.

  1. OBV (バランスボリューム) 累積的なボリューム変化の追跡
  2. A/D ライン (蓄積/分配) 価格・量関係
  3. CMF (チャイキンマネーフロー)
  4. MFI (マネーフローインデックス) の購入/販売圧力
  5. VWAP (Volume Weighted Average Price) が動的サポート/レジスタンスとして
  6. ボリューム・トレンドのボリューム・オシレーター
  7. VRSI (Volume Relative Strength Index) 容積強度について

この戦略は,4つ以上の指標が同時に一貫した信号を与え,強いトレンド機会を示しているときに取引を実行します.

戦略 の 利点

  1. 複数の指標のクロスバリデーションは誤った信号を減らす
  2. 量と価格分析方法を組み合わせる
  3. 動力とトレンドの特徴の両方を組み込む
  4. 明確な入国・退出条件
  5. 適応性とスケーラビリティ

戦略リスク

  1. 複数の指標が信号遅延を引き起こす可能性があります
  2. 複数の市場で過剰な取引を生む可能性があります
  3. パラメータの最適化で過適性リスク
  4. 大量の計算資源が必要です
  5. 低流動性市場では低業績になる可能性がある

オプティマイゼーションの方向性

  1. 適応性パラメータメカニズムを導入する
  2. 市場変動フィルターを追加する
  3. 指標の重量分布を最適化する
  4. ストップ損失と利益目標を追加する
  5. 時間フィルターを導入することを検討する

概要

これは多量指標に基づいた包括的な取引戦略で,多次元市場分析を通じて取引の精度を向上させる.この戦略は強い理論的基盤と実用的な価値を有しているが,実用的なアプリケーションでは適切なパラメータ最適化とリスク管理を必要とする.


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

//@version=5
strategy("Combined Volume Indicators Strategy", overlay=true)

// تنظیمات
lengthRSI = 14
lengthMFI = 14
lengthCMF = 20
fastLength = 5
slowLength = 10

// محاسبه OBV
obv = ta.cum(close > close[1] ? volume : close < close[1] ? -volume : 0)

// محاسبه A/D به‌صورت دستی
var float ad = na
ad := na(ad[1]) ? 0 : ad[1] + ((close - low) - (high - close)) / (high - low) * volume

// محاسبه CMF (Chaikin Money Flow)
moneyFlowMultiplier = ((close - low) - (high - close)) / (high - low)
moneyFlowVolume = moneyFlowMultiplier * volume
cmf = ta.sma(moneyFlowVolume, lengthCMF) / ta.sma(volume, lengthCMF)

// محاسبه MFI به‌صورت دستی
typicalPrice = (high + low + close) / 3
moneyFlow = typicalPrice * volume

// محاسبه جریان پول مثبت و منفی
positiveFlow = 0.0
negativeFlow = 0.0

for i = 0 to lengthMFI - 1
    positiveFlow := positiveFlow + (close[i] > close[i + 1] ? moneyFlow[i] : 0)
    negativeFlow := negativeFlow + (close[i] < close[i + 1] ? moneyFlow[i] : 0)

mfi = 100 - (100 / (1 + (positiveFlow / negativeFlow)))

// محاسبه VWAP
vwap = ta.vwap(close)

// محاسبه Volume Oscillator
fastVolMA = ta.sma(volume, fastLength)
slowVolMA = ta.sma(volume, slowLength)
volumeOscillator = fastVolMA - slowVolMA

// محاسبه VRSI (Volume RSI)
vrsi = ta.rsi(volume, lengthRSI)

// شمارش اندیکاتورهای سیگنال خرید
buySignals = 0
buySignals := buySignals + (obv > obv[1] ? 1 : 0)
buySignals := buySignals + (ad > ad[1] ? 1 : 0)
buySignals := buySignals + (cmf > 0 ? 1 : 0)
buySignals := buySignals + (mfi < 40 ? 1 : 0)
buySignals := buySignals + (close < vwap ? 1 : 0)
buySignals := buySignals + (volumeOscillator > 0 ? 1 : 0)
buySignals := buySignals + (vrsi < 40 ? 1 : 0)

// شمارش اندیکاتورهای سیگنال فروش
sellSignals = 0
sellSignals := sellSignals + (obv < obv[1] ? 1 : 0)
sellSignals := sellSignals + (ad < ad[1] ? 1 : 0)
sellSignals := sellSignals + (cmf < 0 ? 1 : 0)
sellSignals := sellSignals + (mfi > 60 ? 1 : 0)
sellSignals := sellSignals + (close > vwap ? 1 : 0)
sellSignals := sellSignals + (volumeOscillator < 0 ? 1 : 0)
sellSignals := sellSignals + (vrsi > 60 ? 1 : 0)

// شرایط سیگنال خرید: اگر بیش از 4 اندیکاتور سیگنال خرید دهند
buyCondition = (buySignals > 4)

// شرایط سیگنال فروش: اگر بیش از 4 اندیکاتور سیگنال فروش دهند
sellCondition = (sellSignals > 4)

// ورود به معامله خرید
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// خروج از معامله فروش
if (sellCondition)
    strategy.close("Buy")

// رسم سیگنال‌های خرید و فروش بر روی چارت
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


関連性

もっと