Strategi Perdagangan Gabungan Momentum Jilid Berbilang

OBV RSI MFI CMF VWAP VRSI
Tarikh penciptaan: 2024-11-12 10:52:54 Akhirnya diubah suai: 2024-11-12 10:52:54
Salin: 0 Bilangan klik: 459
1
fokus pada
1617
Pengikut

Strategi Perdagangan Gabungan Momentum Jilid Berbilang

Gambaran keseluruhan

Ini adalah strategi perdagangan komprehensif berdasarkan 7 indikator perdagangan yang berbeza. Strategi ini membina sistem perdagangan yang komprehensif dengan mengintegrasikan beberapa indikator perdagangan seperti OBV, A / D line, CMF, MFI, VWAP, oscillator perdagangan dan RSI perdagangan.

Prinsip Strategi

Strategi ini menggunakan kaedah pengesahan berbilang metrik, termasuk:

  1. OBV (indicator arus tenaga) digunakan untuk mengesan perubahan jumlah lalu lintas
  2. Garis A / D (indicator kesesakan) mencerminkan hubungan harga dan jumlah transaksi
  3. CMF (aliran mata wang emas) mengukur aliran wang ke
  4. MFI (indikator aliran wang) mengukur tekanan jual beli
  5. VWAP (Value-Weighted Average Price) sebagai rintangan sokongan dinamik
  6. Penangguhan aliran
  7. VRSI (volume yang agak kuat) mencerminkan intensiti volume

Apabila lebih daripada 4 penunjuk memberi isyarat yang sama pada masa yang sama, strategi menganggap bahawa terdapat peluang trend yang kuat di pasaran, dan perdagangan dilakukan.

Kelebihan Strategik

  1. Penyelidikan silang pelbagai indikator untuk mengurangkan risiko isyarat palsu
  2. Kaedah analisis yang menggunakan kuantiti dan harga
  3. Mengandungi ciri-ciri berganda untuk momentum dan trend tracking
  4. Syarat kemasukan dan keluar yang jelas
  5. Adaptif dan boleh diperluaskan

Risiko Strategik

  1. Pelbagai petunjuk mungkin menyebabkan kelewatan isyarat
  2. Mungkin terdapat terlalu banyak dagangan dalam pasaran yang bergolak
  3. Pengoptimuman parameter boleh menyebabkan pemasangan berlebihan
  4. Memerlukan sumber pengiraan yang lebih besar
  5. Mungkin kurang baik dalam pasaran yang kurang kecairan

Arah pengoptimuman strategi

  1. Memperkenalkan mekanisme parameter penyesuaian
  2. Meningkatkan penapis kadar turun naik pasaran
  3. Pengedaran berat indeks yang optimum
  4. Tambah sasaran stop loss dan profit
  5. Pertimbangkan penapis masa

ringkaskan

Ini adalah strategi perdagangan komprehensif berdasarkan pelbagai petunjuk jumlah transaksi, meningkatkan ketepatan perdagangan dengan analisis pasaran pelbagai dimensi. Strategi ini mempunyai asas teori yang kuat dan nilai praktikal, tetapi memerlukan pengoptimuman parameter dan pengurusan risiko yang sesuai mengikut keadaan pasaran dalam aplikasi praktikal.

Kod sumber strategi
/*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")