
Strategi ini menggabungkan indikator momentum dan pengesanan trend untuk mengenal pasti kenaikan atau penurunan harga saham yang kuat pada pertengahan masa dan memasuki tahap permulaan trend. Strategi dalaman pertama-tama mengira indikator pergerakan harga 20 hari, kemudian memproses pengesahan standard untuk mendapatkan nilai pergerakan piawai antara 0 hingga 1. Di samping itu, mengira rata-rata bergerak sederhana 20 hari sebagai wakil trend jangka menengah.
Indikator utama strategi ini adalah perbezaan pergerakan harga 20 hari. Perbezaan pergerakan didefinisikan sebagai: ((harga penutupan hari ini - harga penutupan 20 hari yang lalu) / harga penutupan 20 hari yang lalu. Indikator ini mencerminkan kenaikan harga dalam 20 hari. Untuk mengelakkan masalah perbezaan harga saham yang berbeza, di sini pengolahan standard untuk perbezaan dinamik dilakukan.
Di samping itu, strategi ini juga memperkenalkan 20 hari sederhana bergerak rata-rata untuk menentukan arah trend jangka menengah. Moving average adalah visual intuitif alat untuk menentukan trend. Apabila harga di atas purata bergerak, dianggap sebagai dalam trend naik; apabila harga di bawah purata bergerak, dianggap sebagai trend menurun.
Strategi ini bertujuan untuk menangkap tahap penurunan saham yang jelas pada pertengahan tempoh. Logiknya ialah: jika pergerakan standardisasi lebih besar daripada 0.5, menunjukkan bahawa harga saham sedang meningkat dengan pesat dalam tempoh baru-baru ini; sementara harga lebih tinggi daripada purata bergerak 20 hari, menunjukkan bahawa pertengahan tempoh masih dalam trend naik, ini adalah lebih banyak; sebaliknya, jika pergerakan standardisasi kurang dari 0.5, harga sedang menurun dengan pesat; sementara harga juga lebih rendah daripada garis 20 hari, juga dalam trend menurun pada pertengahan tempoh, ini adalah kosong.
Ini adalah logik asas untuk membuat keputusan strategi. Untuk titik masuk, strategi masuk secara langsung ketika momentum dan trend selaras. Untuk hentian, tetapkan titik hentian minimum yang tetap, iaitu membeli harga tertinggi + unit perubahan harga terkecil, dan menjual unit perubahan harga terkecil - untuk mengelakkan kerugian yang tidak berkesan.
Kelebihan terbesar strategi ini adalah menggunakan kedua-dua indikator untuk membuat keputusan pada masa yang sama, yang dapat menyaring beberapa kes yang salah masuk. Hanya bergantung pada indikator momentum yang mudah menghasilkan isyarat palsu, dan menambahkan indikator trend pertengahan dapat mengesahkan keberkesanan isyarat momentum, dan mengelakkan terikat dalam keadaan gegaran. Begitu juga, indikator trend yang mengikuti semata-mata akan kehilangan beberapa peluang dalam trend, dan menambahkan indikator momentum dapat mengenal pasti bila trend mula meningkat.
Kelebihan lain adalah bahawa strategi memilih kitaran 20 hari untuk mengira. Tetapan parameter pertengahan ini dapat mengurangkan jumlah perdagangan frekuensi tinggi, yang membantu untuk merebut peluang selisih harga garis panjang dan menengah. Ia juga dapat menyaring kesan bunyi pasaran jangka pendek.
Risiko utama strategi ini adalah bahawa momentum dan trend mungkin berlaku. Apabila trend dan momentum tidak selaras, ia akan menyebabkan isyarat yang salah. Sebagai contoh, harga saham berada dalam trend menurun, tetapi kenaikan bouncing dalam jangka pendek boleh menyebabkan indikator momentum menghasilkan isyarat yang salah.
Selain itu, penempatan berhenti strategi juga lebih mudah, tidak dapat mengelakkan risiko sepenuhnya. Jika pasaran melompat secara besar-besaran, penutupan titik tetap mungkin akan ditembusi secara langsung, dan responsnya tidak mencukupi.
Strategi ini mempunyai beberapa penyesuaian utama:
Tambah lebih banyak petunjuk untuk membuat penilaian komprehensif. Contohnya MACD, KD, Brin Belt, dan lain-lain. Ini dapat memeriksa keberkesanan isyarat momentum dan mengelakkan isyarat yang salah.
Pemasangan berhenti secara dinamik. Anda boleh menetapkan berhenti terapung dalam masa nyata berdasarkan ATR atau menggunakan teori harga opsyen untuk mengira garisan berhenti yang munasabah. Ini dapat mengurangkan kebarangkalian penutupan berhenti.
Optimumkan kitaran parameter. Kaedah semasa menggunakan kitaran 20 hari. Anda boleh menguji lebih banyak kombinasi parameter untuk mencari parameter kitaran terbaik.
Kriteria penilaian untuk membezakan perbezaan nilai momentum membeli dan menjual. Pada masa ini, standard 0.5 yang sama digunakan. Parameter terbaik untuk membeli dan menjual boleh diuji secara berasingan.
Menambah penapis jumlah transaksi. Sebagai contoh, isyarat hanya dikeluarkan apabila jumlah transaksi meningkat. Ini dapat mengelakkan beberapa pelanggaran palsu yang tidak mencukupi.
Strategi ini menggunakan analisis trend dan indikator momentum yang komprehensif untuk menangkap peluang perdagangan yang dihasilkan oleh perubahan pergerakan harga di garis tengah. Berbanding dengan satu indikator, kombinasi pelbagai indikator dapat meningkatkan ketepatan penilaian dan ruang keuntungan. Peraturan stop loss mudah dan langsung, dapat mengawal risiko stop loss dengan cepat.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)
//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])
//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]
normalize(src, len) =>
hi = highest(src, len)
lo = lowest(src, len)
res = (src - lo)/(hi - lo)
//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)
//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)
//
// Strategy
//
if (mom > .5 and price > mid )
strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
strategy.cancel("MomLE")
if (mom < .5 and price < mid )
strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
strategy.cancel("MomSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)