Donchian Adaptive Moving Average Trading System (Sistem Perdagangan Rata-rata Gerak Adaptif Donchian)

Penulis:ChaoZhang, Tanggal: 2024-02-21 15:08:27
Tag:

img

Gambaran umum

Sistem perdagangan rata-rata bergerak adaptif Donchian adalah strategi perdagangan kuantitatif yang melacak tren harga. Strategi ini menggunakan indikator saluran Donchian dikombinasikan dengan rata-rata bergerak jangka panjang dan jangka pendek untuk menilai dan melacak tren harga dan menangkap tren harga jangka menengah hingga panjang untuk perdagangan tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung rentang volatilitas yang sebenarnya. rentang volatilitas yang sebenarnya mengacu pada rentang pergerakan harga dari harga penutupan lilin sebelumnya hingga harga tertinggi dan terendah lilin saat ini. Kemudian, strategi ini menghitung rata-rata pergerakan sederhana dari rentang volatilitas yang sebenarnya sebagai bandwidth saluran Donchian. Dikombinasikan dengan rata-rata bergerak dari dua periode waktu, ini menilai tren harga. Aturan penilaian khusus adalah sebagai berikut:

Bila harga melewati rata-rata bergerak jangka panjang ditambah bandwidth dan rata-rata bergerak jangka pendek ditambah bandwidth, pergi panjang; ketika harga turun di bawah rata-rata bergerak jangka panjang dikurangi bandwidth dan rata-rata bergerak jangka pendek dikurangi bandwidth, pergi pendek.

Oleh karena itu, dengan menyesuaikan bandwidth saluran Donchain secara dinamis berdasarkan volatilitas yang sebenarnya dan menyaring dengan rata-rata bergerak ganda, strategi dapat secara efektif melacak tren harga jangka menengah ke panjang, mengurangi sinyal palsu, dan mendapatkan peluang perdagangan jangka panjang yang stabil.

Analisis Kekuatan

Strategi ini memiliki keuntungan berikut:

  1. Menggunakan volatilitas sejati untuk menyesuaikan bandwidth saluran secara dinamis menghindari parameter statis dan beradaptasi dengan lebih baik dengan perubahan pasar.

  2. Kombinasi dua rata-rata bergerak dapat secara efektif menyaring kebisingan dan mengurangi sinyal palsu.

  3. Melacak tren jangka menengah hingga panjang dapat mengurangi perdagangan berulang dan mengurangi frekuensi perdagangan untuk mendapatkan peluang keuntungan jangka panjang.

  4. Logika strategi sederhana dan jelas, mudah diimplementasikan, toleransi kesalahan, dan cocok untuk perdagangan algoritmik otomatis.

Risiko dan Optimasi

Strategi ini juga memiliki beberapa risiko:

  1. Hal ini sulit untuk menangkap waktu masuk terbaik untuk perdagangan jangka panjang selama penyesuaian jangka pendek. indikator volatilitas dapat membantu menilai situasi jangka pendek dan mengoptimalkan entri.

  2. Parameter perlu dioptimalkan untuk sektor yang berbeda dan saham individu.

  3. Stop loss point perlu dilunasi dengan baik terhadap perubahan tren yang signifikan dari keadaan darurat.

Ringkasan

Singkatnya, sistem perdagangan rata-rata bergerak adaptif Donchian adalah strategi kuantitatif yang secara keseluruhan stabil, sederhana dan mudah diterapkan. Dengan memanfaatkan saluran dinamis dan penyaringan rata-rata bergerak ganda, sistem ini dapat secara efektif melacak tren pasar jangka menengah hingga panjang, mengurangi frekuensi perdagangan, dan memperoleh keuntungan berkelanjutan jangka panjang. Sementara itu, mengoptimalkan pengaturan parameter, mencegah risiko, dan stop loss yang tepat juga harus dicatat untuk beradaptasi dengan keadaan darurat. Secara keseluruhan strategi ini memiliki kinerja yang luar biasa dan cocok untuk pelacakan tren algoritmik jangka menengah hingga 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)

Lebih banyak