Strategi Dagangan Pelarian Ketidakstabilan MCL-YG


Tarikh penciptaan: 2023-11-14 13:49:12 Akhirnya diubah suai: 2023-11-14 13:49:12
Salin: 0 Bilangan klik: 673
1
fokus pada
1617
Pengikut

Strategi Dagangan Pelarian Ketidakstabilan MCL-YG

Gambaran keseluruhan

Strategi ini menggunakan terobosan Bollinger Bands untuk mengesan isyarat perdagangan, mewujudkan perdagangan pasangan untuk dua aset yang berkaitan dengan baik, MCL dan YG. Apabila harga MCL menyentuh Bollinger Bands, lakukan plus MCL dan minus YG; Apabila harga MCL menyentuh Bollinger Bands, lakukan plus MCL dan minus YG, mewujudkan perdagangan beransur-ansur terhadap trend harga.

Prinsip Strategi

Pertama, strategi ini mengira StdDev rata-rata SMA dan standard deviasi berdasarkan harga penutupan dalam satu kitaran. Kemudian, satu perpindahan ditambah ke bawah rata-rata SMA, membentuk lintasan atas dan lintasan bawah Brin.

Strategi ini menggunakan strategi perdagangan terobosan beling, iaitu harga melihat lebih banyak ketika melintasi dan tidak melihat ketika melintasi. Dengan menyesuaikan lebar saluran secara dinamik untuk menyesuaikan diri dengan perubahan pasaran, beling dapat menyaring bunyi pasaran yang bergolak. Berbeza dengan saluran tetap, lebar saluran beling akan berkembang atau berkurangan dengan perubahan dalam turun naik pasaran.

Perdagangan berpasangan untuk dua aset yang berkaitan positif, MCL dan YG. Apabila MCL menembusi jalur, menunjukkan bahawa harga MCL berada dalam trend menaik, ketika ini melakukan lebih banyak MCL, sementara melakukan YG kosong, iaitu membeli aset yang lebih kuat dan menjual aset yang lebih lemah, untuk mendapatkan keuntungan dari perbezaan harga dua aset.

Kelebihan Strategik

  1. Pertukaran terobosan berasaskan Brin Belt, yang dapat menyaring bunyi pasaran dan mengenal pasti trend
  2. Dengan menggunakan pasangan aset berkaitan, keuntungan alfa dari perbezaan harga aset berkaitan positif dapat diperoleh
  3. Mengubah saiz kedudukan secara dinamik untuk mengawal risiko perdagangan individu
  4. Menggunakan standard logik masuk dan logik keluar pada sumbu tengah regresi, logik strategi mudah dan jelas

Risiko Strategik

  1. Tetapan parameter Brinband yang tidak betul boleh menyebabkan frekuensi dagangan yang terlalu tinggi atau isyarat yang tidak jelas
  2. Penurunan hubungan antara aset berkaitan akan menyebabkan penurunan pendapatan pasangan perdagangan alpha
  3. Perdagangan terobosan mudah tertipu oleh penipuan terobosan palsu di pasaran yang bergolak, yang menyebabkan kerugian
  4. Kerosakan yang tidak berkesudahan menyebabkan kerugian tunggal yang mungkin berkembang

Risiko boleh dikurangkan dengan mengoptimumkan parameter, memilih objek dagangan yang lebih relevan dan lebih cair, dan menetapkan kedudukan hentian yang munasabah.

Pengoptimuman Strategi

  1. Mengoptimumkan parameter Brin untuk mencari kombinasi parameter yang terbaik
  2. Uji lebih banyak aset yang relevan sebagai objek dagangan, pilih gabungan yang lebih relevan
  3. Tambah logik stop loss untuk mengehadkan kerugian tunggal
  4. Menambah syarat penapisan untuk mengelakkan penipuan penembusan palsu
  5. Pengesahan jumlah dagangan dan penukaran ke dalam pasaran

ringkaskan

Strategi ini secara keseluruhannya lebih mudah dan langsung, menangkap trend melalui jalur Brin dan mendapatkan keuntungan alfa dari perdagangan pasangan. Tetapi terdapat beberapa ruang yang dapat dioptimumkan seperti pengoptimuman parameter, hentikan kerugian, dan pilihan pasangan. Dengan menguji parameter yang berbeza, objek perdagangan, dan memperkenalkan kaedah penapisan trend dengan betul, anda boleh mendapatkan kesan strategi yang lebih baik.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)