Strategi Terobosan Ayunan Band Stochastics MACD


Tarikh penciptaan: 2023-12-11 11:48:27 Akhirnya diubah suai: 2023-12-11 11:48:27
Salin: 0 Bilangan klik: 885
1
fokus pada
1621
Pengikut

Strategi Terobosan Ayunan Band Stochastics MACD

Gambaran keseluruhan

Strategi MACD Stochastics Oscillation Breakout adalah strategi perdagangan kuantitatif yang menggabungkan indikator MACD dan indikator Stochastics. Strategi ini cuba mengenal pasti arah trend harga saham dan memasuki kedudukan apabila harga keluar dari zona goyah.

Apabila memasuki kedudukan, strategi ini mengambil kira isyarat kedua-dua penunjuk MACD dan Stochastics untuk meningkatkan kualiti Entries. Di samping itu, strategi ini menetapkan titik berhenti dan titik berhenti, yang dapat mengawal risiko dengan berkesan.

Prinsip Strategi

Strategi penembusan gelombang MACD Stochastics adalah berdasarkan prinsip berikut:

  1. Penunjuk MACD berkesan mengenal pasti arah dan kekuatan trend harga saham
  2. Indeks Stochastics dapat mengenal pasti sama ada saham berada dalam keadaan overbought atau oversold
  3. Apabila harga saham bergoyang untuk jangka masa yang lama, ia mungkin akan menembusi julat harga sebelumnya dan menghasilkan pergerakan arah yang lebih besar.
  4. Gabungan dengan isyarat MACD dan Stochastics, boleh masuk tepat pada masanya apabila saham menembusi kawasan gelombang gelombang, meningkatkan kualiti Entries

Khususnya, strategi ini menggunakan garis DIFF dan garis DEA yang bersilang dalam indikator MACD sebagai isyarat untuk menentukan arah trend harga. Apabila DIFF melangkaui DEA ke atas, ia menghasilkan isyarat multihead dan sebaliknya menghasilkan isyarat kosong.

Pada masa yang sama, garis K Stochastics yang melintas ke atas atau ke bawah dengan garis D berhampiran kawasan overbought dan oversold (default 30 dan 70) juga menghasilkan isyarat perdagangan.

Strategi ini akan memilih untuk masuk apabila MACD dan Stochastics memberi isyarat yang sama. Pada masa ini, harga saham kemungkinan besar akan menghasilkan penembusan yang lebih besar.

Selepas masuk, strategi akan menetapkan titik berhenti dan titik berhenti yang munasabah. Hentian yang munasabah dapat mengawal kerugian tunggal dengan berkesan, dan berhenti dapat mengunci keuntungan.

Analisis kelebihan

Strategi penembusan gelombang MACD Stochastics mempunyai kelebihan berikut:

  1. Kombinasi pelbagai penunjuk untuk meningkatkan kualiti isyarat

Strategi ini menggunakan kedua-dua penunjuk MACD dan Stochastics untuk menyaring beberapa isyarat palsu dan meningkatkan kualiti Entries.

  1. Menerima dan Mengambil Peluang

Strategi ini direka khas untuk menangkap pergerakan pecah selepas pergerakan harga saham yang berpanjangan.

  1. Pengoptimuman mekanisme penghentian kerosakan untuk mengawal risiko dengan berkesan

Strategi ini mempunyai seting stop loss yang boleh mengawal kerugian tunggal dengan bijak dan mengunci keuntungan tepat pada masanya.

Analisis risiko

Walaupun strategi penembusan gelombang MACD Stochastics dirancang dengan berhati-hati, terdapat risiko tertentu:

  1. Kehilangan peluang masuk

Sebelum harga saham mencapai titik penembusan, mungkin terdapat beberapa keadaan penembusan palsu. Jika masa masuk dipilih dengan tidak betul, ia boleh menyebabkan masuk ini menjadi titik masuk yang terlewat.

  1. Kegagalan Berjaya

Walaupun persediaan telah dibuat sebelum penembusan, masih ada kemungkinan bahawa penembusan gagal. Dalam kes ini, kerugian akan berlaku.

  1. Parameter tidak dioptimumkan

Tetapan parameter strategi mempunyai kesan yang besar terhadap hasilnya. Jika parameter tidak ditetapkan dengan betul, anda akan mendapat diskaun yang besar.

Untuk mengatasi risiko ini, anda boleh mengoptimumkan dengan:

  1. Gabungan penapis lain

  2. Campur tangan manusia memastikan kedudukan terobosan

  3. Ujian pengoptimuman parameter pelbagai kumpulan

Arah pengoptimuman

Strategi penembusan gelombang MACD Stochastics masih mempunyai ruang untuk pengoptimuman lebih lanjut:

  1. Mengoptimumkan parameter MACD untuk mencari kombinasi parameter terbaik

  2. Mengoptimumkan parameter Stochastics untuk mencari kombinasi parameter terbaik

  3. Menambah kombinasi penunjuk lain, seperti KDJ, BOLL dan lain-lain, untuk meningkatkan kualiti Entries

  4. Uji tempoh pegangan yang berbeza untuk mengoptimumkan strategi hentian dan hentian

  5. Uji kepelbagaian parameter dalam pelbagai tanda dagangan

  6. Menambah algoritma pembelajaran mesin, parameter pengoptimuman automatik

ringkaskan

Strategi penembusan gelombang gelombang MACD Stochastics menggunakan kedua-dua indikator MACD dan Stochastics secara komprehensif, masuk ke dalam kualiti yang tinggi semasa terobosan gelombang gelombang, dan seterusnya. Pada masa yang sama, strategi penangguhan kerugian yang berkesan mengawal risiko. Strategi ini menangkap trend jangka pendek harga saham, dan mempunyai kelebihan perdagangan tertentu.

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

//@version=5
strategy(title="macd stoch strategy", shorttitle="benzo MACD stoch",overlay=true)
// Getting inputs
fast_length = input(title = "Fast Length", defval = 180)
slow_length = input(title = "Slow Length", defval = 390)
src = input(title = "Source", defval = close)
signal_length = input.int(title = "Signal Smoothing",  minval = 1, maxval = 500, defval = 135)
sma_source = input.string(title = "Oscillator MA Type",  defval = "EMA", options = ["SMA", "EMA"])
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options = ["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// hline(0, "Zero Line", color = color.new(#787B86, 50))
// plot(hist, title = "Histogram", style = plot.style_columns, color = (hist >= 0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #FF5252)))
// plot(macd,   title = "MACD",   color = #2962FF)

// plot(signal, title = "Signal", color = #FF6D00)

periodK = input.int(14, title="%K Length", minval=1)
smoothK = input.int(1, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
// plot(k, title="%K", color=#2962FF)
// plot(d, title="%D", color=#FF6D00)
// h0 = hline(80, "Upper Band", color=#787B86)
// hline(50, "Middle Band", color=color.new(#787B86, 50))
// h1 = hline(20, "Lower Band", color=#787B86)
// fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")


// Make inputs that set the take profit % (optional)
longProfitPerc = input.float(3, title="Long Take Profit (%)", minval=0.0, step=0.1) * 0.01

shortProfitPerc = input.float(3, title="Short Take Profit (%)",minval=0.0, step=0.1) * 0.01

// Calculate trading conditions
enterLong  = macd>signal and ta.crossover(k,30)
enterShort = macd<signal and ta.crossunder(k,70)

// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Plot take profit values for confirmation
plot(strategy.position_size > 0 ? longExitPrice : na,
     color=color.green, style=plot.style_circles,
     linewidth=3, title="Long Take Profit")

plot(strategy.position_size < 0 ? shortExitPrice : na,
     color=color.red, style=plot.style_circles,
     linewidth=3, title="Short Take Profit")

// Submit entry orders
if enterLong
    strategy.entry("long", strategy.long)

if enterShort
    strategy.entry("short", strategy.short)

// STEP 3:
// Submit exit orders based on take profit price
if strategy.position_size > 0
    strategy.exit("long TP", limit=longExitPrice)

if strategy.position_size < 0
    strategy.exit("short TP", limit=shortExitPrice)