Pengukuran jarak penunjuk teknikal dan strategi perdagangan kuantitatif hibrid pembalikan MACD

RSI MACD EMA momentum Euclidean Distance Centroid volatility REVERSAL PATTERN TREND FOLLOWING
Tarikh penciptaan: 2025-04-16 15:19:46 Akhirnya diubah suai: 2025-04-16 15:19:46
Salin: 1 Bilangan klik: 379
2
fokus pada
319
Pengikut

Pengukuran jarak penunjuk teknikal dan strategi perdagangan kuantitatif hibrid pembalikan MACD Pengukuran jarak penunjuk teknikal dan strategi perdagangan kuantitatif hibrid pembalikan MACD

Gambaran Keseluruhan Strategi

Strategi ini adalah kaedah perdagangan kuantitatif campuran yang menggabungkan pengukuran jarak penunjuk teknikal dan isyarat pembalikan MACD. Ia membentuk strategi gabungan yang dapat menangkap pergerakan trend dan mengenali potensi pembalikan dengan mengira jarak Euclidean antara keadaan pasaran semasa dan titik pusat bull dan bear yang telah ditentukan, dan dengan isyarat persilangan penunjuk MACD.

Prinsip Strategi

Strategi ini berpusat pada dua mekanisme utama:

  1. Mekanisme pengukuran jarakStrategi ini mula-mula membina vektor ciri yang terdiri daripada 6 petunjuk teknikal, termasuk harga EMA, kadar turun naik, momentum, RSI, garis MACD, dan carta MACD. Di samping itu, dua vektor titik pusat bull dan bear telah didefinisikan sebelumnya, yang mewakili keadaan ideal ketika pasaran berada dalam trend menaik dan menurun. Dengan mengira jarak Euro meter antara vektor keadaan pasaran semasa dan kedua-dua vektor titik pusat, strategi ini dapat menilai keadaan pasaran semasa yang lebih dekat.

  2. Mekanisme isyarat silangSebagai pengesahan lapisan kedua, strategi menggunakan isyarat silang penunjuk MACD untuk menilai perubahan momentum pasaran. Isyarat melalui talian MACD dianggap sebagai isyarat membeli, manakala isyarat melalui talian MACD dianggap sebagai isyarat menjual.

Gabungan kedua-dua mekanisme ini membentuk sistem pengesahan ganda: satu pihak menilai kecenderungan keseluruhan pasaran melalui pengukuran jarak, dan satu pihak menilai perubahan momentum jangka pendek melalui penyambungan MACD. Strategi ini boleh menggunakan pengesahan bersama kedua-dua mekanisme (pengukuran jarak dan MACD memberikan isyarat yang sama pada masa yang sama) atau boleh berdagang berdasarkan isyarat yang dihasilkan secara bebas oleh mana-mana mekanisme, meningkatkan kepelbagaian isyarat dan kekerapan peluang menangkap.

Kelebihan Strategik

  1. Penilaian keadaan pasaran pelbagai dimensiDengan menggabungkan pelbagai petunjuk teknikal ke dalam vektor ciri, strategi dapat menilai keadaan pasaran dari pelbagai dimensi dan tidak hanya bergantung pada satu petunjuk, mengurangkan risiko isyarat palsu.

  2. Mekanisme penjanaan isyarat yang fleksibelStrategi ini menggunakan pengukuran jarak dan MACD untuk menghasilkan isyarat yang merangkumi kedua-dua mekanisme, yang dapat menangkap pergerakan berterusan dalam trend, dan dapat mengetahui titik-titik perubahan yang berpotensi, lebih mudah beradaptasi.

  3. Objektiviti model matematikPengiraan jarak Euclidean menyediakan kaedah objektif dan matematik untuk menilai keadaan pasaran, mengurangkan kesan faktor penilaian subjektif.

  4. Pelancaran automatikStrategi ini akan secara automatik melonggarkan pegangan di arah yang bertentangan apabila isyarat baru dihasilkan, membantu menghentikan kerugian tepat pada masanya dan menukar arah kedudukan untuk menyesuaikan diri dengan pasaran yang berubah dengan cepat.

  5. Fungsi pemantauan prestasi: Strategi ini mempunyai ciri dalaman untuk menjejaki dan memaparkan keuntungan dan kerugian perdagangan, memudahkan penilaian prestasi strategi secara langsung dan membuat penyesuaian parameter yang diperlukan.

Risiko Strategik

  1. Risiko sensitiviti parameterPenunjuk seperti EMA, RSI dan MACD yang digunakan dalam strategi bergantung pada parameter tertentu. Jika parameter ini tidak sesuai dengan keadaan pasaran semasa, ia boleh menyebabkan isyarat yang salah. Penyelesaian adalah dengan mencari kombinasi parameter yang optimum dengan mengkaji semula dan menilai semula keberkesanan parameter secara berkala.

  2. Risiko perdagangan berlebihanOleh kerana strategi dapat menghasilkan isyarat secara bebas berdasarkan dua mekanisme yang berbeza, ia mungkin menghasilkan terlalu banyak isyarat perdagangan di pasaran yang lebih bergolak, meningkatkan kos perdagangan. Ia boleh mengurangkan perdagangan yang tidak perlu dengan menambah mekanisme penapisan isyarat atau menyesuaikan logik penjanaan isyarat.

  3. Perlawanan antara trend dan pertimbangan terbalikDalam keadaan pasaran tertentu, pengukuran jarak dan isyarat MACD mungkin memberi arahan yang bertentangan, menyebabkan tindakan strategi tidak konsisten. Disyorkan untuk mewujudkan peraturan keutamaan isyarat yang jelas atau memperkenalkan mekanisme pengesahan tambahan.

  4. Statik pada tetapan pusatBahagian parameter titik pusat bullish dalam strategi semasa adalah tetapan statik (seperti nilai RSI) dan mungkin tidak dapat disesuaikan dengan semua keadaan pasaran. Anda boleh mempertimbangkan untuk memperkenalkan mekanisme penyesuaian diri, menyesuaikan kedudukan titik pusat secara dinamik berdasarkan data sejarah.

  5. Keterbatasan satu kerangka masaStrategi hanya beroperasi dalam satu bingkai masa dan mungkin terlepas isyarat penting dalam bingkai masa yang lebih besar atau lebih kecil. Pertimbangkan untuk meluaskan strategi ke pelbagai bingkai masa yang dapat meningkatkan kebolehpercayaan isyarat.

Arah pengoptimuman strategi

  1. Reka bentuk pusat penyesuaianParameter bahagian titik pusat pasaran lembu dan lembu semasa adalah tetap dan boleh diubah menjadi titik pusat dinamik yang dikira secara automatik berdasarkan data sejarah. Sebagai contoh, data dari N kitaran lalu boleh digunakan untuk menentukan keadaan pasaran lembu dan lembu yang ideal, yang membolehkan titik pusat menyesuaikan diri secara automatik dengan keadaan pasaran.

  2. Keutamaan isyarat dan mekanisme penapis: Memperkenalkan sistem keutamaan isyarat berdasarkan keadaan pasaran, seperti memberi keutamaan isyarat pembalikan dalam keadaan kadar lonjakan yang tinggi, memberi keutamaan isyarat pengukuran jarak dalam keadaan trend lonjakan yang rendah. Pada masa yang sama, penapis isyarat berdasarkan kadar lonjakan atau jumlah pertukaran boleh ditambah, mengurangkan isyarat bunyi.

  3. Mekanisme sasaran kerugian dan keuntunganStrategi semasa tidak mempunyai tetapan sasaran stop loss dan profit yang jelas, yang boleh menambah mekanisme stop loss berdasarkan ATR atau peratusan tetap, dan tetapan sasaran profit berdasarkan tahap sokongan / rintangan atau nisbah pulangan risiko.

  4. Integrasi analisis pelbagai kerangka masa: Mengintegrasikan maklumat trend dari bingkai masa yang lebih besar ke dalam strategi semasa, seperti melakukan isyarat perdagangan pada peringkat jam hanya jika trend garis matahari selaras, untuk meningkatkan kebolehpercayaan isyarat.

  5. Penyesuaian dinamik berat ciri: Menghantar berat dinamik kepada pelbagai penunjuk dalam vektor ciri, secara automatik menyesuaikan pengaruhnya mengikut kemampuan ramalan setiap penunjuk dalam keadaan pasaran yang berbeza, meningkatkan ketepatan pengiraan jarak.

  6. Pembelajaran MesinAnda boleh mempertimbangkan untuk memperkenalkan algoritma pembelajaran mesin mudah untuk mengoptimumkan kedudukan titik pusat atau berat ciri, atau anda boleh menggunakan algoritma pengelompokan untuk secara automatik menemui titik pusat pelbagai keadaan di pasaran, bukan hanya dua keadaan lembu dan beruang yang mudah.

ringkaskan

Strategi perdagangan kuantitatif campuran pengukuran jarak penunjuk teknikal dan pembalikan MACD adalah kaedah perdagangan kuantitatif yang inovatif yang menggabungkan beberapa penunjuk teknikal biasa ke dalam sistem penilaian keadaan pasaran yang bersatu dengan menggunakan teknologi pengiraan jarak Euclidean, dan menggabungkan isyarat silang MACD untuk membentuk mekanisme pengesahan ganda. Kaedah ini dapat menangkap momentum dalam trend yang berterusan dan dapat mengenal pasti potensi pembalikan pasaran, dengan kemampuan adaptasi dan fleksibiliti yang kuat.

Kelebihan utama strategi ini terletak pada keupayaan untuk menilai pasaran berbilang dimensi dan objektif model matematik, tetapi juga menghadapi risiko seperti sensitiviti parameter, perdagangan berlebihan dan pertembungan isyarat. Strategi ini mempunyai banyak ruang untuk pengoptimuman dan peningkatan dengan memperkenalkan reka bentuk titik pusat yang beradaptasi, mengoptimumkan sistem keutamaan isyarat, menambah mekanisme henti, mengintegrasikan analisis bingkai masa berbilang dan menggunakan teknologi pembelajaran mesin.

Strategi ini yang menggabungkan kaedah analisis teknikal tradisional dengan model matematik menawarkan arah baru yang patut dijelajahi untuk peniaga kuantitatif, terutama bagi peniaga yang ingin meningkatkan objektifiti keputusan perdagangan sambil mengekalkan keterangan strategi.

Kod sumber strategi
/*backtest
start: 2024-04-15 00:00:00
end: 2024-12-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Bysq-Distance Reversal Entry - BTCUSDT (v6)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, margin_long=0, margin_short=0)

// ========== FEATURE ENGINEERING ==========
price = close
priceNorm = ta.ema(price, 5)
volatility = ta.stdev(price, 20)
momentum = ta.ema(close - close[5], 5)
rsi = ta.rsi(close, 14)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
macdHist = macdLine - signalLine

// Fitur sebagai vector
featureVector = array.new_float(6)
array.set(featureVector, 0, priceNorm)
array.set(featureVector, 1, volatility)
array.set(featureVector, 2, momentum)
array.set(featureVector, 3, rsi)
array.set(featureVector, 4, macdLine)
array.set(featureVector, 5, macdHist)

// Centroid bullish
bullishCentroid = array.new_float(6)
array.set(bullishCentroid, 0, price)
array.set(bullishCentroid, 1, volatility)
array.set(bullishCentroid, 2, momentum)
array.set(bullishCentroid, 3, 60.0)
array.set(bullishCentroid, 4, macdLine)
array.set(bullishCentroid, 5, macdHist)

// Centroid bearish
bearishCentroid = array.new_float(6)
array.set(bearishCentroid, 0, price)
array.set(bearishCentroid, 1, volatility)
array.set(bearishCentroid, 2, momentum)
array.set(bearishCentroid, 3, 40.0)
array.set(bearishCentroid, 4, macdLine)
array.set(bearishCentroid, 5, macdHist)

// Fungsi Euclidean Distance
euclideanDistance(arr1, arr2) =>
    dist = 0.0
    for i = 0 to array.size(arr1) - 1
        a = array.get(arr1, i)
        b = array.get(arr2, i)
        dist += math.pow((a - b), 2)
    math.sqrt(dist)

// Hitung jarak ke centroid
distToBullish = euclideanDistance(featureVector, bullishCentroid)
distToBearish = euclideanDistance(featureVector, bearishCentroid)

// ========== SINYAL ==========
// Original distance strategy signals
isDistanceBuySignal = distToBullish < distToBearish and ta.crossover(macdLine, signalLine)
isDistanceSellSignal = distToBearish < distToBullish and ta.crossunder(macdLine, signalLine)

// Reversal strategy signals
isReversalBuySignal = ta.crossover(macdLine, signalLine)
isReversalSellSignal = ta.crossunder(macdLine, signalLine)

// Combined signals - using both strategies
isBuySignal = isDistanceBuySignal or isReversalBuySignal
isSellSignal = isDistanceSellSignal or isReversalSellSignal

// ========== EKSEKUSI ==========
if isBuySignal
    strategy.close("Sell")         // Close any sell position first (from reversal strategy)
    strategy.entry("Buy", strategy.long)
    
if isSellSignal
    strategy.close("Buy")          // Close any buy position first (from reversal strategy)
    strategy.entry("Sell", strategy.short)

// ========== METRIK KINERJA ==========
float lastOpenTradeProfit = na
if strategy.opentrades > 0
    lastOpenTradeProfit := strategy.opentrades.profit(strategy.opentrades - 1)

float lastClosedTradeProfit = na
if strategy.closedtrades > 0
    lastClosedTradeProfit := strategy.closedtrades.profit(strategy.closedtrades - 1)

// Plot info
plot(lastOpenTradeProfit, title="Last Open Trade Profit", color=color.blue)
plot(lastClosedTradeProfit, title="Last Closed Trade Profit", color=color.orange)