Strategi ini menilai trend besar dengan mengintegrasikan pelbagai petunjuk dan menghasilkan keputusan perdagangan berdasarkan perubahan arah pada isyarat gabungan petunjuk. Strategi ini menggabungkan kelajuan purata bergerak, petunjuk STOCH dan petunjuk MACD untuk membentuk mekanisme pemantauan trend yang lebih komprehensif dan mantap.
Strategi ini digunakan untuk menilai trend berdasarkan beberapa petunjuk berikut:
Kelajuan purata bergerak: penunjuk trend yang mencerminkan kelajuan perubahan harga.
Indeks STOCH: Kawasan yang terlalu banyak beli dan terlalu banyak jual menilai perubahan trend.
Indeks MACD: Perbezaan Garis Rata-Rata Ganda mencerminkan perubahan trend.
Peraturan transaksi adalah seperti berikut:
Bergerak rata-rata ke atas, menunjukkan lebih banyak isyarat.
Indeks STOCH memasuki kawasan oversold dan memberi isyarat kosong.
Garis purata MACD berlawanan arah, memberi isyarat yang lebih banyak.
Apabila mana-mana 2 isyarat penunjuk sama arah, membuat keputusan masuk yang sesuai.
Ia adalah satu-satunya tanda yang menunjukkan perubahan dalam isyarat.
Strategi ini mengambil kira pelbagai faktor trend, membentuk sistem perdagangan yang stabil dengan pengesahan yang lebih kuat melalui penapisan isyarat gabungan faktor-faktor yang menyesatkan.
Strategi gabungan ini mempunyai kelebihan berikut berbanding dengan satu petunjuk:
Penghakiman bersepadu meningkatkan ketepatan.
Kaedah penyaringan gabungan, mengurangkan kesilapan transaksi.
Ia juga boleh digunakan untuk mengesan pergerakan mata wang dalam mata wang asing.
Dengan pengesahan kuat isyarat arah, penembusan palsu dapat dielakkan.
Peraturan-peraturan ini mudah difahami dan mudah dilaksanakan.
Parameter yang disesuaikan dengan fleksibiliti dan kebolehan beradaptasi yang tinggi.
Perkembangan jangka masa yang berbeza, penggunaan yang meluas.
Ia juga boleh digunakan untuk memperkenalkan berat indikator latihan pembelajaran mesin.
Keseluruhan kestabilan dan keuntungan lebih baik daripada satu-satunya petunjuk.
Walaupun terdapat banyak kelebihan dalam strategi ini, risiko berikut perlu dipertimbangkan:
Ia adalah salah satu cara yang paling mudah untuk mendapatkan maklumat mengenai isu ini.
Pengoptimuman parameter dan penentuan berat lebih sukar.
Mungkin terdapat isyarat yang bertentangan antara pelbagai petunjuk.
“Bagi saya, ia adalah satu-satunya cara untuk memastikan bahawa kita tidak akan kehilangan wang dalam tempoh yang lama.
Tidak pasti masa memegang saham tunggal, ada unsur keberuntungan.
Sinyal gabungan tidak dapat menghilangkan pemantauan yang melekat pada perdagangan trend.
Frekuensi transaksi yang tinggi terdedah kepada yuran transaksi.
Ia perlu diperhatikan dalam penunjuk nisbah pengeluaran pendapatan.
Berdasarkan analisis di atas, strategi ini boleh diperbaiki dengan:
Menilai kesannya dalam pasaran yang berbeza.
Menambah parameter ujian kestabilan untuk mengelakkan overoptimisasi.
Optimumkan penentuan berat indikator untuk mengurangkan pertembungan isyarat.
Tetapkan stop loss untuk mengelakkan kerugian besar.
Menggunakan pintu keluar masa untuk mengawal kedudukan tanpa sasaran.
Menilai kesan frekuensi dagangan terhadap yuran dagangan.
Memperkenalkan sekatan kepada penunjuk risiko.
Uji kebolehan berbilang pasaran.
Kaedah yang terus divalidasi untuk mengelakkan ketidaksempurnaan.
Strategi ini membentuk sistem isyarat gabungan yang stabil dengan mengintegrasikan pelbagai indikator untuk menilai trend. Tetapi strategi apa pun perlu terus dioptimumkan dan ditingkatkan, memberi perhatian kepada indikator risiko dan mengelakkan overfitting. Perdagangan kuantitatif adalah proses pembelajaran dan pengulangan yang berterusan.
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// By TradeStation
//@version=5
strategy("Mov Avg Speed Strategy", overlay=true)
src = input(close, title="Source")
// MA Speed
avg_len = input.int(50, minval=1, title="Avg Length", group="MA Speed")
roc_len = input.int(1, minval=1, title="Rate of Change Length", group="MA Speed")
avg_roc_len = input.int(10, minval=1, title="Avg Rate of Change Length", group="MA Speed")
// Stochastic
stoch_len = input.int(14, minval=1, title="Stochastic Length", group="Stochastic")
smooth_k = input.int(3, minval=1, title="Stochastic Smooth K", group="Stochastic")
overbought = input.float(80, title="Stochastic Overbought", group="Stochastic")
oversold = input.float(20, title="Stochastic Oversold", group="Stochastic")
// MACD
fast_length = input(12, title="Fast Length", group="MACD")
slow_length = input(26, title="Slow Length", group="MACD")
macd_avg_length = input.int(9, title="MACD Avg Length", minval=1, group="MACD")
// MA Speed
avg = ta.sma(src, avg_len)
roc = ta.roc(avg, roc_len)
avg_roc = ta.sma(roc, avg_roc_len)
avg_roc_signal = avg_roc > 0 ? 1 : avg_roc < 0 ? -1 : 0
// Stochastic k
k = ta.sma(ta.stoch(close, high, low, stoch_len), smooth_k)
stochastic_signal = k <= oversold ? 1 : k >= overbought ? -1 : 0
// MACD
fast_ma = ta.ema(src, fast_length)
slow_ma = ta.ema(src, slow_length)
macd = fast_ma - slow_ma
macd_avg = ta.ema(macd, macd_avg_length)
macd_signal = macd_avg > macd_avg[1] ? 1 : macd_avg < macd_avg[1] ? -1 : 0
// set the signal couint
long_count = 0
short_count = 0
if macd_signal == 1
long_count += 1
else if macd_signal == -1
short_count += 1
if stochastic_signal == 1
long_count += 1
else if stochastic_signal == -1
short_count += 1
if avg_roc_signal == 1
long_count += 1
else if avg_roc_signal == -1
short_count += 1
if (long_count >= 2)
strategy.entry("Long", strategy.long)
if (short_count >= 2)
strategy.entry("Short", strategy.short)