Strategi bersatu rangka berbilang masa berdasarkan momentum kuantitatif dan perbezaan penumpuan

EMA SMA MACD BB KC
Tarikh penciptaan: 2024-07-31 11:33:59 Akhirnya diubah suai: 2024-07-31 11:33:59
Salin: 21 Bilangan klik: 332
1
fokus pada
1225
Pengikut

Strategi bersatu rangka berbilang masa berdasarkan momentum kuantitatif dan perbezaan penumpuan

Gambaran keseluruhan

Strategi ini menggabungkan pendekatan perdagangan jangka pendek dan jangka panjang, menggunakan pelbagai petunjuk teknikal untuk menangkap pergerakan dan turun naik pasaran. Di tengah-tengah strategi ini, peluang perdagangan berpotensi dapat dikenal pasti dengan menganalisis penyambung purata bergerak, penunjuk pergerakan yang dipelbagaikan, dan penyokong MACD pada pelbagai jangka masa. Ia bertujuan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza, memberikan pedagang dengan kaedah perdagangan yang fleksibel.

Prinsip Strategi

Prinsip asas strategi ini adalah untuk mengenal pasti keadaan dagangan yang menguntungkan dengan mengintegrasikan beberapa alat analisis teknikal:

  1. Rata-rata bergerak bersilang:

    • Perdagangan jangka pendek menggunakan purata bergerak indeks 5 kitaran dan 15 kitaran ((EMA)
    • Perdagangan jangka panjang menggunakan purata bergerak mudah 20 kitaran dan 50 kitaran (SMA) Apabila garis purata jangka pendek melintasi garis purata jangka panjang menghasilkan isyarat beli, dan apabila ia melintasi garis purata jangka panjang menghasilkan isyarat jual.
  2. Indeks kekuatan pemalsuan:

    • Gabungan dengan jalur Brin dan Kentner untuk mengenal pasti tempoh turun naik rendah (penekanan) dan tempoh turun naik tinggi (pelepasan)
    • Menggunakan nilai dinamik dan kod warna untuk menunjukkan peningkatan atau pengurangan dinamik
    • Keadaan penekanan ditunjukkan dengan warna biru (tidak ada penekanan), hitam (permulaan penekanan) dan kelabu (akhir penekanan)
  3. MACD oscillator:

    • Menggambar garis MACD, garis isyarat dan carta MACD untuk analisis dinamik tambahan
  4. Indeks jumlah dagangan:

    • Membuat carta bertiang untuk mengenal pasti trend jumlah transaksi

Strategi logik ini menggabungkan indikator-indikator berikut:

  • Apabila EMA jangka pendek memakai EMA jangka panjang dan penunjuk momentum penekanan menunjukkan momentum positif, masukkan kedudukan short term bullish
  • Apabila EMA jangka pendek berada di bawah EMA jangka panjang, anda akan meletakkan kedudukan jangka pendek.
  • Masukkan kedudukan berganda jangka panjang apabila SMA jangka pendek memakai SMA jangka panjang dan penunjuk momentum penekanan menunjukkan momentum positif
  • Apabila SMA jangka pendek menembusi SMA jangka panjang, anda akan meletakkan kedudukan jangka panjang.

Kelebihan Strategik

  1. Analisis pelbagai kerangka masa: Dengan menggabungkan purata bergerak jangka pendek dan jangka panjang, strategi ini dapat menangkap trend pasaran pada skala masa yang berbeza, meningkatkan fleksibiliti dan kesesuaian perdagangan.

  2. Volatiliti dan integrasi momentum: Indikator momentum penekanan memberikan wawasan yang berharga mengenai turun naik dan dinamik pasaran, membantu peniaga mengenal pasti potensi penembusan dan permulaan trend.

  3. Sinyal pengesahan: Strategi menggunakan pelbagai petunjuk (Moving Average, Squeeze Momentum, MACD) untuk mengesahkan isyarat perdagangan, berpotensi mengurangkan isyarat palsu.

  4. Kebolehsuaian: parameter strategi (seperti kitaran purata bergerak, panjang dan kelipatan jalur Brinbelt dan Kentner) boleh disesuaikan mengikut keutamaan peribadi dan keadaan pasaran yang berbeza.

  5. Pengurusan risiko: Strategi ini menyediakan peraturan keluar yang jelas yang membantu menguruskan risiko dengan keluar dari perdagangan apabila persilangan rata-rata bergerak.

  6. Perspektif pasaran menyeluruh: menggabungkan pergerakan harga, turun naik, dinamik dan analisis jumlah transaksi, untuk memberikan perspektif pasaran menyeluruh untuk keputusan perdagangan.

Risiko Strategik

  1. Overtrading: Dalam pasaran yang lebih turun naik, seringnya persilangan purata bergerak boleh menyebabkan overtrading dan meningkatkan kos transaksi.

  2. Ketinggalan: Indikator seperti purata bergerak dan MACD secara semula jadi ketinggalan dan mungkin terlepas titik perubahan penting dalam pasaran yang berubah dengan cepat.

  3. Penembusan palsu: Dalam pasaran yang bergolak, strategi ini mungkin terdedah kepada penembusan palsu, yang menyebabkan perdagangan yang tidak perlu.

  4. Sensitiviti parameter: prestasi strategi sangat bergantung kepada parameter yang dipilih, dan keadaan pasaran yang berbeza mungkin memerlukan tetapan yang berbeza.

  5. Kecerobohan satu arah: Strategi semasa hanya menumpukan pada perdagangan berbilang mata wang dan mungkin terlepas peluang mata wang kosong yang berpotensi.

  6. Kurangnya pertimbangan asas: Strategi ini hanya berdasarkan analisis teknikal dan mengabaikan faktor asas yang mungkin mempengaruhi pasaran.

Untuk mengurangkan risiko ini, anda boleh mempertimbangkan kaedah berikut:

  • Menerapkan penapis tambahan untuk mengurangkan isyarat palsu, seperti meminta purata bergerak untuk menyeberang beberapa kitaran yang berterusan
  • Digabungkan dengan petunjuk teknikal lain atau analisis asas untuk mengesahkan isyarat perdagangan
  • Menggunakan parameter penyesuaian untuk menyesuaikan diri dengan keadaan pasaran yang berbeza
  • Tambah logik perdagangan kosong untuk menyeimbangkan strategi
  • Menerapkan peraturan pengurusan risiko yang ketat, seperti sasaran stop-loss dan profit

Arah pengoptimuman strategi

  1. Penyesuaian parameter dinamik: mencapai parameter penunjuk purata bergerak dan parameter penunjuk pergerakan yang beradaptasi untuk menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berbeza. Ini boleh menyesuaikan parameter secara dinamik dengan menggunakan penunjuk turun naik (seperti ATR).

  2. Pengenalan rejim pasaran bersepadu: membangunkan sistem klasifikasi rejim pasaran yang menyesuaikan tindakan strategi mengikut keadaan pasaran semasa (trend, julat atau turun naik). Ini dapat membantu strategi tetap stabil dalam keadaan pasaran yang berbeza.

  3. Peningkatan masa masuk: menggunakan corak tingkah laku harga atau petunjuk tambahan (seperti RSI) untuk mengoptimumkan masa masuk, berpotensi mengurangkan isyarat palsu.

  4. Mengamalkan skala kedudukan dinamik: menyesuaikan saiz kedudukan mengikut turun naik pasaran dan kekuatan isyarat dagangan semasa untuk mengoptimumkan nisbah risiko / pulangan.

  5. Menyertai logik perdagangan kosong: strategi yang diperluaskan untuk merangkumi perdagangan kosong, memanfaatkan lebih banyak peluang pasaran.

  6. Analisis relevansi pelbagai jenis: Jika berdagang dalam pelbagai jenis, pertimbangkan untuk melaksanakan analisis relevansi untuk menyebarkan risiko dan mengenal pasti peluang potensi lebihan.

  7. Pembelajaran Mesin Integrasi: Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan pilihan parameter atau kebolehpercayaan isyarat ramalan untuk meningkatkan prestasi keseluruhan strategi.

  8. Ujian mundur dan ke hadapan: Ujian mundur dan ke hadapan yang meluas dilakukan untuk menilai prestasi strategi dalam keadaan pasaran yang berbeza dan mengenal pasti potensi over-fit.

  9. Peningkatan pengurusan risiko: menerapkan teknik pengurusan risiko yang lebih kompleks, seperti hentian dinamik, hentian pengesanan, atau strategi keluar berdasarkan turun naik.

  10. Penapis masa: penapis berdasarkan masa pasaran ditambah untuk mengelakkan dagangan pada masa yang rendah atau turun naik.

Dengan melaksanakan pengoptimuman ini, strategi dapat meningkatkan adaptasi, ketahanan dan prestasi keseluruhan. Walau bagaimanapun, adalah penting untuk melakukan setiap penambahbaikan dengan berhati-hati dan mengesahkan keberkesanannya dengan ujian menyeluruh.

ringkaskan

Strategi Kesatuan Kerangka Masa Berbilang berdasarkan kuantitatif dinamik dan penyebaran konvergensi adalah sistem perdagangan yang komprehensif yang menggabungkan teknik perdagangan jangka pendek dan jangka panjang. Dengan mengintegrasikan penyambungan purata bergerak, penunjuk pergerakan squeeze dan analisis MACD, strategi ini bertujuan untuk menangkap peluang perdagangan dalam pelbagai keadaan pasaran.

Untuk meningkatkan lagi strategi, pertimbangan boleh diambil untuk melaksanakan teknik pengurusan risiko untuk penyesuaian parameter dinamik, mengenal pasti dan memperbaiki rejim pasaran. Selain itu, meluas ke perdagangan kosong dan mengintegrasikan teknologi pembelajaran mesin mungkin memberikan peluang pengoptimuman tambahan.

Pada akhirnya, strategi kesatuan ini menyediakan pedagang dengan kerangka kerja yang kuat yang boleh disesuaikan dengan toleransi risiko individu dan pandangan pasaran. Walau bagaimanapun, seperti semua strategi perdagangan, pengesanan menyeluruh dan pemantauan berterusan adalah penting sebelum digunakan dalam perdagangan langsung. Dengan pengoptimuman dan pengurusan risiko yang berterusan, strategi ini berpotensi menghasilkan hasil yang konsisten dalam pelbagai persekitaran pasaran.

Kod sumber strategi
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Scalping and Swing Trading Strategy with Squeeze Momentum", overlay=true)

// Shorter Moving Averages for Scalping
shortScalpMA = ta.ema(close, 5)
longScalpMA = ta.ema(close, 15)

// Longer Moving Averages for Swing Trading
shortSwingMA = ta.sma(close, 20)
longSwingMA = ta.sma(close, 50)

// Plot Moving Averages
plot(shortScalpMA, color=color.blue, title="Short Scalp MA")
plot(longScalpMA, color=color.red, title="Long Scalp MA")
plot(shortSwingMA, color=color.green, title="Short Swing MA")
plot(longSwingMA, color=color.orange, title="Long Swing MA")

// Buy and Sell Signals for Scalping
scalpBuySignal = ta.crossover(shortScalpMA, longScalpMA)
scalpSellSignal = ta.crossunder(shortScalpMA, longScalpMA)

// Buy and Sell Signals for Swing Trading
swingBuySignal = ta.crossover(shortSwingMA, longSwingMA)
swingSellSignal = ta.crossunder(shortSwingMA, longSwingMA)

// Plot Buy and Sell Signals
plotshape(series=scalpBuySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Scalp Buy")
plotshape(series=scalpSellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Scalp Sell")
plotshape(series=swingBuySignal, location=location.belowbar, color=color.blue, style=shape.labelup, text="Swing Buy")
plotshape(series=swingSellSignal, location=location.abovebar, color=color.orange, style=shape.labeldown, text="Swing Sell")

// Custom Oscillator (using MACD)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdHist = macdLine - signalLine

// Plot MACD
hline(0, "Zero Line", color=color.gray)
plot(macdLine, color=color.green, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(macdHist, color=color.blue, style=plot.style_histogram, title="MACD Histogram")

// Volume
plot(volume, color=color.blue, title="Volume", linewidth=2)

// Squeeze Momentum Indicator [LazyBear]
// BB and KC Length and Multipliers
lengthBB = input.int(20, title="BB Length")
multBB = input.float(2.0, title="BB MultFactor")
lengthKC = input.int(20, title="KC Length")
multKC = input.float(1.5, title="KC MultFactor")
useTrueRange = input.bool(true, title="Use TrueRange (KC)")

// Calculate Bollinger Bands
basis = ta.sma(close, lengthBB)
dev = multBB * ta.stdev(close, lengthBB)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate Keltner Channels
maKC = ta.sma(close, lengthKC)
rangeKC = useTrueRange ? ta.tr(true) : (high - low)
rangeKCMA = ta.sma(rangeKC, lengthKC)
upperKC = maKC + rangeKCMA * multKC
lowerKC = maKC - rangeKCMA * multKC

// Squeeze Conditions
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = not sqzOn and not sqzOff

// Momentum Value
avgPrice = (ta.highest(high, lengthKC) + ta.lowest(low, lengthKC)) / 2
val = ta.linreg(close - avgPrice, lengthKC, 0)

// Bar Colors
bcolor = val > 0 ? (val > nz(val[1]) ? color.lime : color.green) : (val < nz(val[1]) ? color.red : color.maroon)
scolor = noSqz ? color.blue : sqzOn ? color.black : color.gray

// Plot Squeeze Momentum
plot(val, color=bcolor, style=plot.style_histogram, linewidth=4)
plot(0, color=scolor, style=plot.style_cross, linewidth=2)

// Strategy Logic
if (scalpBuySignal and not noSqz and val > 0)
    strategy.entry("Scalp Buy", strategy.long)
if (scalpSellSignal and not noSqz and val < 0)
    strategy.close("Scalp Buy")

if (swingBuySignal and not noSqz and val > 0)
    strategy.entry("Swing Buy", strategy.long)
if (swingSellSignal and not noSqz and val < 0)
    strategy.close("Swing Buy")