Strategi Dagangan Purata Pergerakan Berganda Berdasarkan Harga Sintetik Detrended


Tarikh penciptaan: 2023-09-19 17:13:28 Akhirnya diubah suai: 2023-09-19 17:13:28
Salin: 1 Bilangan klik: 394
1
fokus pada
1166
Pengikut

Gambaran keseluruhan

Strategi ini adalah berdasarkan strategi perdagangan dua hala yang bersesuaian dengan harga sintetik yang terdesentralisasi (Detrended Synthetic Price, DSP). DSP adalah fungsi yang selaras dengan kitaran dominasi harga sebenar, yang diperoleh dengan mengira 14 kitaran EMA tolak 12 kitaran EMA.

Prinsip Strategi

  1. HAL purata 12 kitaran harga dikira xHL2。

  2. Mengikut parameter Length, xHL2 dikira 14 kitaran EMA ((xEMA1) dan 12 kitaran EMA ((xEMA2) .

  3. Hitung xEMA1 tolak xEMA2 untuk mendapatkan DSP.

  4. Tetapkan parameter atas dan bawah landasan, apabila DSP melakukan lebih banyak ketika memasuki landasan, dan kosong ketika memasuki landasan.

  5. Anda boleh melakukan banyak arah kosong dengan menukar parameter terbalik.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. DSP dapat menangkap kitaran harga yang dominan dan mengelakkan kekeliruan kitaran sekunder.

  2. Reka bentuk dua EMA dapat mengesan perubahan kitaran yang dikendalikan dengan berkesan.

  3. Laluan yang mudah dan mudah untuk bergerak dan mengelakkan perdagangan berlebihan.

  4. Ia boleh bertukar dengan mudah dalam pelbagai arah, menyesuaikan diri dengan keadaan pasaran yang berbeza.

  5. Tidak memerlukan pengoptimuman parameter yang rumit, mudah dan praktikal.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Siklus DSP ditetapkan dengan tidak betul, mungkin terlepas kitaran dominan.

  2. Jarak lintasan perlu dioptimumkan, jika tidak, ia mungkin terlalu kerap.

  3. Reka bentuk kitaran tetap, kurang beradaptasi dengan pasaran yang berubah-ubah.

  4. Bergantung kepada transaksi DSP sahaja, ia mudah tertipu oleh pasaran yang bergolak.

  5. Tidak dipertimbangkan untuk menghentikan kerugian, terdapat risiko kerugian yang besar.

Arah pengoptimuman

Strategi ini boleh dioptimumkan melalui:

  1. Mengoptimumkan parameter, mencari kombinasi parameter kitaran terbaik.

  2. Tambah seting naik turun dinamik berdasarkan kadar turun naik.

  3. Penapisan digabungkan dengan trend dan indikator turun naik untuk mengurangkan isyarat palsu.

  4. Menambah stop loss bergerak atau stop loss pengesanan untuk mengawal risiko.

  5. Melakukan penyesuaian parameter pelbagai jenis untuk menilai keserasian.

  6. Menambah algoritma pembelajaran mesin untuk mengoptimumkan kitaran DSP.

ringkaskan

Strategi ini secara keseluruhan adalah strategi perdagangan dua garis yang sangat ringkas dan praktikal. Ia dibina berdasarkan analisis kitaran yang munasabah, dengan mengesan secara berkesan kitaran dominan melalui DSP. Peningkatan dalam pengoptimuman parameter, mekanisme hentian kerugian, keadaan penapisan dan sebagainya boleh menjadi strategi perdagangan kuantitatif yang lebih dipercayai.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/03/2017
// Detrended Synthetic Price is a function that is in phase with the 
// dominant cycle of real price data. This DSP is computed by subtracting 
// a half-cycle exponential moving average (EMA) from the quarter cycle 
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="D_DSP (Detrended Synthetic Price)", shorttitle="D_DSP")
Length = input(14, minval=1)
SellBand = input(25)
BuyBand = input(-25)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(SellBand, color=red, linestyle=line)
hline(BuyBand, color=green, linestyle=line)
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos = iff(xEMA1_EMA2 > SellBand, 1,
	     iff(xEMA1_EMA2 < BuyBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xEMA1_EMA2, color=blue, title="D_DSP")