
Sistem perdagangan rata-rata bergerak yang menyesuaikan diri dengan Dongxian adalah strategi perdagangan kuantitatif untuk mengesan trend harga. Strategi ini menggunakan indikator saluran Dongxian, menggabungkan garis panjang dan garis pendek untuk menilai dan mengesan trend harga, untuk menangkap trend harga garis tengah dan panjang, untuk melakukan perdagangan trend.
Strategi ini pertama-tama mengira gelombang sebenar. Ganjaran sebenar adalah julat perubahan harga antara harga penutupan K baris sebelumnya dan harga tertinggi dan terendah pada K baris semasa. Kemudian menghitung garis panjang purata bergerak sederhana gelombang sebenar, sebagai lebar jalur Dongxian. Kemudian menggabungkan purata bergerak dua tempoh masa yang lebih panjang untuk menentukan trend harga.
Apabila harga naik melalui purata bergerak panjang ditambah bandwidth dan purata bergerak pendek ditambah bandwidth, lakukan lebih banyak; apabila harga turun melalui purata bergerak panjang tolak bandwidth dan purata bergerak pendek tolak bandwidth, kosongkan. Syarat kedudukan kosong untuk kenaikan purata bergerak panjang pendek yang meningkat melalui bandwidth.
Dengan cara ini, strategi menyesuaikan jalur jalur Dongxian melalui pergerakan gelombang sebenar, dan digabungkan dengan penapisan purata bergerak berganda, dapat mengesan trend harga garis tengah dan panjang dengan berkesan, mengurangkan isyarat palsu, dan dengan itu mendapatkan peluang perdagangan garis panjang yang stabil.
Strategi ini mempunyai beberapa kelebihan:
Menggunakan pengiraan gelombang sebenar untuk menyesuaikan jalur jalur secara dinamik, mengelakkan parameter mati, dan dapat menyesuaikan diri dengan perubahan pasaran.
Penghakiman gabungan purata bergerak berganda dapat menyaring kebisingan dengan berkesan dan mengurangkan isyarat palsu.
Mengikuti trend garis panjang dan tengah, anda boleh mengurangkan perdagangan berulang, mengurangkan frekuensi perdagangan, dan mendapat peluang keuntungan yang berterusan dalam jangka masa yang panjang.
Logik strategi mudah, jelas dan mudah dilaksanakan, mempunyai kadar kesalahan yang tinggi, sesuai untuk perdagangan kuantitatif automatik.
Strategi ini juga mempunyai risiko:
Perdagangan garis panjang sukar untuk memahami titik masuk untuk penyesuaian garis pendek. Ia boleh digabungkan dengan baik dengan indikator turun naik dan lain-lain untuk menilai keadaan garis pendek dan mengoptimumkan masuk.
Berbeza dengan industri dan individu, parameter perlu dioptimumkan. Anda boleh mempertimbangkan kombinasi parameter pilihan dinamik.
Apabila kejadian mendadak menyebabkan perubahan trend yang ketara, titik hentian perlu dikurangkan dengan sewajarnya.
Secara keseluruhannya, sistem perdagangan rata-rata bergerak yang menyesuaikan diri dengan Dongguan secara keseluruhan adalah strategi kuantitatif yang stabil, mudah dan mudah dilaksanakan. Strategi ini menggunakan saluran dinamik dan penapisan dua hala yang sama, yang dapat mengesan trend garis panjang di pasaran dengan berkesan, mengurangkan frekuensi perdagangan, dan memperoleh keuntungan yang berterusan dalam jangka masa yang panjang.
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun
//@version=4
strategy("唐齐安移动平均交易系统", overlay=true)
longperiod = input(20,'长线')
shortperiod = input(5,'短线')
bandfactor = input(1.0,'')
TrueHigh = 0.0
TrueLow = 0.0
TrueRange = 0.0
TrueHigh := close[1] > high ? close[1] : high
TrueLow := close[1] < low ? close[1] : low
TrueRange := TrueHigh - TrueLow
AvgTrueRange = sma(TrueRange,longperiod)
MAlong = sma(close,longperiod)
MAshort = sma(close,shortperiod)
band = AvgTrueRange * bandfactor
if close > MAlong[1] + band[1] and close > MAshort[1] + band[1]
strategy.entry("Long", strategy.long, when=strategy.position_size < 1)
else
if close < MAlong[1] - band[1] and close < MAshort[1] - band[1]
strategy.entry("Short", strategy.short, when=strategy.position_size > -1)
if close < MAlong[1] - band[1] or close < MAshort[1] - band[1]
strategy.close("Long", when=strategy.position_size > 0)
else
if close > MAlong[1] + band[1] or close > MAshort[1] + band[1]
strategy.close("Short", when=strategy.position_size < 0)