Strategi ini terutamanya menggunakan EMA bergerak rata-rata dan MACD petunjuk, menilai perubahan dalam gaya pasaran, untuk mengejar penghentian penurunan. Gagasan teras adalah apabila garis EMA pendek dari bawah menembusi garis EMA panjang dan MACD pada masa yang sama menembusi 0 sumbu ke atas, melakukan lebih banyak; apabila EMA pendek dari atas menembusi EMA panjang dan MACD pada masa yang sama menembusi 0 sumbu ke bawah, kosong.
Strategi ini menggabungkan penunjuk purata bergerak dan penunjuk MACD.
Pertama, ia menggunakan dua indikator EMA dengan tempoh panjang yang berbeza, satu adalah garis EMA 25 kitaran dan satu adalah garis EMA 50 kitaran. Garis EMA 25 kitaran dapat mencerminkan trend jangka pendek, dan garis EMA 50 kitaran dapat mencerminkan trend jangka panjang. Apabila garis EMA jangka pendek melintasi garis EMA jangka panjang dari bawah, menunjukkan pergerakan dari penurunan ke kenaikan, termasuk dalam isyarat garpu emas, buat keputusan lebih banyak.
Kedua, strategi ini digabungkan dengan isyarat penghakiman MACD. Isyarat MACD terdiri daripada garis DIF dan garis DEA, yang mewakili perbezaan purata bergerak rata-rata indeks jangka pendek dan jangka panjang, dikira melalui EMA ganda. Strategi ini menetapkan DIF sebagai EMA 12 hari dikurangkan 26 hari EMA.
Gabungan kedua-dua penunjuk ini, apabila berlaku 25 hari EMA Gold Fork 50 hari EMA, sementara MACD melalui DEA melalui DIF, menghasilkan isyarat beli, buat lebih; apabila berlaku 25 hari EMA Dead Fork 50 hari EMA, sementara MACD melalui DIF melalui DEA, menghasilkan isyarat jual, buat kosong.
Ini adalah strategi dua hala yang sangat tipikal, dan pada masa yang sama menghasilkan isyarat dagangan yang lebih dipercayai dalam kombinasi dengan MACD, dengan kelebihan berikut:
Menggunakan garis rata EMA ganda, ia dapat mengelakkan fenomena whipsaws dan penembusan palsu, menghasilkan isyarat perdagangan yang lebih dipercayai.
Menggabungkan penunjuk MACD, dapat mengesahkan lebih lanjut isyarat perdagangan, mengelakkan risiko isyarat palsu dua hala EMA, dan meningkatkan keberkesanan strategi di medan perang.
Menggunakan 25 dan 50 hari sebagai garis laju, pilihan parameter lebih tepat dan dapat menangkap perubahan trend yang jelas dalam garis pendek.
Menggunakan strategi mengejar dan membunuh kejatuhan, anda boleh menang dalam indeks saham besar, dan mendapat keuntungan yang lebih besar apabila harga naik dan turun secara mendadak.
Logik strategi mudah difahami, mudah difahami dan mudah dilaksanakan, sesuai untuk digunakan oleh pemula dalam kuantitatif.
Berhati-hati untuk mengoptimumkan parameter dengan betul, supaya strategi lebih sesuai dengan pelbagai jenis dan keadaan pasaran.
Strategi ini juga mempunyai risiko yang perlu diperhatikan:
Kemungkinan untuk menghasilkan isyarat palsu pada EMA masih ada, dan whipsaw akan berlaku dalam keadaan yang teruk.
Parameter penunjuk MACD perlu terus dioptimumkan dan diselaraskan, jika tidak, ia akan menghasilkan isyarat salah atau isyarat terlewat.
Perlu berhati-hati sama ada penyetempatan titik henti rugi adalah munasabah, untuk mengelakkan kerugian yang lebih besar daripada penembusan yang tidak berkesan.
Untuk mengelakkan risiko sistemik yang membawa kepada kerugian yang lebih besar, perhatian perlu diberikan kepada perubahan dalam persekitaran perniagaan dan dasar.
Untuk mengelakkan kemerosotan dalam pasaran, perlu mengawal saiz dan tahap leverage kedudukan.
Strategi ini juga boleh dioptimumkan dari segi berikut:
Kombinasi parameter yang lebih tepat dan berkesan dalam peperangan, seperti ujian EMA 20 dan 60 hari sebagai jalur perdagangan, DIF untuk EMA 10 hari dan perbezaan EMA 20 hari.
Meningkatkan pengesahan penunjuk kadar penukaran untuk mengelakkan penembusan palsu kadar rendah.
Gabungan penunjuk kadar turun naik seperti ATR menentukan cara menghentikan kerugian yang lebih saintifik.
Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik untuk menyesuaikan parameter strategi secara dinamik dengan perubahan persekitaran pasaran.
Tambah modul kawalan kedudukan untuk membolehkan saiz kedudukan mengikut prestasi dagangan dan perubahan dinamik penunjuk.
Isyarat strategi ini boleh dipetakan pada carta dengan tempoh yang lebih lama, membantu membuat keputusan yang lebih panjang.
Strategi ini mengintegrasikan kelebihan penunjuk purata bergerak dan penunjuk MACD, dengan membezakan garis K yang lebih tinggi dengan kualiti yang lebih tinggi melalui rata-rata EMA ganda, dengan pencocokan arah dinamika MACD yang diputuskan oleh DIF dan DEA, membentuk strategi kuantitatif yang stabil dan berkesan yang lebih baik untuk mengejar kejatuhan dan kejatuhan. Logik strategi ini ringkas dan jelas, mudah difahami dan dioptimumkan, sangat sesuai untuk pemula dan latihan ahli kimia.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="EMA+MACD", shorttitle="EMA+MACD", overlay=true)
// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"])
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
len1 = input(title="Len Ema 1 ",type=input.integer,defval=25)
len2 = input(title="Len Ema 2 ",type=input.integer,defval=50)
ema1 = ema(src,len1)
ema2 = ema(src,len2)
bull = crossover(ema1,ema2) and macd > 0
bear = crossover(ema2,ema1) and macd < 0
l1 = bull ? label.new(x=bar_index,y=low,yloc=yloc.belowbar,text="BUY",color=color.green,textcolor=color.white,style=label.style_triangleup) : na
l2 = bear ? label.new(x=bar_index,y=high,yloc=yloc.abovebar,text="SELL",color=color.red,textcolor=color.white,style=label.style_triangledown) : na
strategy.entry("LONG",strategy.long,when=bull)
strategy.entry("SHORT",strategy.short,when=bear)