Sistem Perdagangan Rata-rata Pergerakan Adaptif Donchian


Tanggal Pembuatan: 2024-02-21 15:08:27 Akhirnya memodifikasi: 2024-02-21 15:08:27
menyalin: 3 Jumlah klik: 715
1
fokus pada
1617
Pengikut

Sistem Perdagangan Rata-rata Pergerakan Adaptif Donchian

Ringkasan

Sistem perdagangan rata-rata bergerak yang beradaptasi dengan Dongguan adalah strategi perdagangan kuantitatif yang melacak tren harga. Strategi ini menggunakan indikator saluran Dongguan, yang menggabungkan garis panjang dan garis pendek dengan rata-rata bergerak, untuk menilai dan melacak tren harga, untuk menangkap tren harga garis tengah dan panjang, untuk melakukan perdagangan tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung real wavelength. Real wavelength adalah rentang perubahan harga dari harga penutupan garis K sebelumnya ke harga tertinggi dan terendah pada garis K saat ini. Kemudian menghitung garis panjang dari real wavelength dengan rata-rata bergerak sederhana, sebagai bandwidth dari saluran Dongxian.

Ketika harga di atas melewati garis panjang bergerak rata-rata ditambah bandwidth dan garis pendek bergerak rata-rata ditambah bandwidth, lakukan lebih banyak; ketika harga di bawah melewati garis panjang bergerak rata-rata dikurangi bandwidth dan garis pendek bergerak rata-rata dikurangi bandwidth, kosongkan. Kondisi posisi yang sama untuk harga di bawah melewati bandwidth meningkat garis panjang bergerak rata-rata lebih banyak posisi yang sama; harga di atas melewati bandwidth meningkat garis pendek bergerak rata-rata posisi kosong.

Dengan demikian, strategi ini menyesuaikan bandwidth saluran Dongguan melalui dinamika real bandwidth, dan digabungkan dengan penyaringan rata-rata bergerak ganda, dapat secara efektif melacak tren harga lini tengah dan panjang, mengurangi sinyal palsu, sehingga mendapatkan peluang perdagangan lini panjang yang stabil.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan:

  1. Menggunakan perhitungan real bandwidth untuk menyesuaikan bandwidth channel secara dinamis, menghindari parameter mati, dan dapat beradaptasi lebih baik dengan perubahan pasar.

  2. Pengukuran dengan menggunakan moving averages dapat secara efektif memfilter kebisingan dan mengurangi sinyal palsu.

  3. Mengikuti tren lini tengah dan panjang dapat mengurangi perdagangan berulang, mengurangi frekuensi perdagangan, dan mendapatkan peluang keuntungan berkelanjutan dalam jangka panjang.

  4. Logika strategi sederhana, jelas dan mudah diterapkan, toleransi kesalahan tinggi, cocok untuk perdagangan kuantitatif otomatis.

Risiko dan optimasi

Strategi ini juga memiliki beberapa risiko:

  1. Perdagangan garis panjang sulit untuk memahami titik masuk dari penyesuaian garis pendek. Anda dapat mengkombinasikan indikator fluktuasi dengan tepat untuk menilai situasi garis pendek dan mengoptimalkan masuk.

  2. Berbeda dengan industri dan individu, parameter yang perlu dioptimalkan. Anda dapat mempertimbangkan kombinasi parameter pilihan yang dinamis.

  3. Stop loss yang diperlukan adalah relaksasi yang tepat ketika sebuah kejadian mendadak menyebabkan perubahan tren yang signifikan.

Meringkaskan

Secara keseluruhan, Dongguan Adaptive Moving Average Trading System secara keseluruhan adalah strategi kuantitatif yang stabil, sederhana, dan mudah diterapkan. Strategi ini menggunakan saluran dinamis dan penyaringan linier ganda, yang dapat secara efektif melacak tren lini tengah pasar, mengurangi frekuensi perdagangan, dan mendapatkan keuntungan berkelanjutan dalam jangka panjang.

Kode Sumber Strategi
/*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)