Strategi Perdagangan Osilator Momentum Dinamis


Tanggal Pembuatan: 2024-01-22 17:28:39 Akhirnya memodifikasi: 2024-01-22 17:28:39
menyalin: 0 Jumlah klik: 603
1
fokus pada
1617
Pengikut

Strategi Perdagangan Osilator Momentum Dinamis

Ringkasan

Dynamic Momentum Oscillator Trading Strategy didasarkan pada indikator Dynamo yang dikemukakan oleh E. Marshall Wall dalam artikel yang diterbitkan pada bulan Juli 1996 di majalah Futures Quarterly, dengan pengolahan normalisasi pada oscillator standar untuk menghilangkan efek tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung indeks acak dengan panjang 10 hari (Stochastic Oscillator), kemudian menghitung rata-rata bergerak sederhana 10 hari dari indeks tersebut, dan kemudian menghitung rata-rata bergerak 20 hari berdasarkan rata-rata bergerak ini. Rata-rata ini membentuk dasar perhitungan oscillator dinamis.

Strategy kemudian menghitung nilai tertinggi dan terendah dari indeks, kemudian menghitung nilai tengah. Ia membuat perbedaan antara rata-rata 20 hari dengan indeks asli, kemudian mengurangi perbedaan tersebut dari nilai tengah, membentuk alat geser pasca-standarisasi.

Analisis Keunggulan

Keuntungan utama dari strategi ini adalah:

  1. Menggunakan indikator dynamic oscillator eliminasi efek tren, membuat sinyal perdagangan lebih dapat diandalkan.

  2. Kombinasi dengan zona overbought dan oversold dapat menghasilkan sinyal perdagangan yang lebih akurat pada titik balik.

  3. Peraturan-peraturan ini sederhana, jelas, dan mudah diterapkan.

Analisis risiko

Risiko utama dari strategi ini adalah:

  1. Ketika pasar bergejolak, kemungkinan besar indikator akan mengirimkan sinyal yang salah. Anda dapat mengatur stop loss untuk mengendalikan risiko.

  2. Dalam pasar yang bergoyang, sering terjadi sinyal palsu. Anda dapat menyesuaikan parameter dengan tepat, memfilter beberapa suara.

  3. Frekuensi transaksi mungkin lebih tinggi, dan biaya transaksi akan berdampak pada keuntungan.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Uji data dari berbagai pasar untuk menemukan kontrak terbaik dan kombinasi parameter optimal.

  2. Menambahkan kondisi filter untuk menilai kekuatan tren sebelum sinyal, menghindari terjerat dalam situasi getaran.

  3. Meningkatkan mekanisme stop loss. Pilih stop loss keluar ketika harga menembus batas tertentu ke arah negatif.

  4. Strategi ini dapat digunakan untuk mengembangkan sistem perdagangan yang lebih kompleks, yang dapat digunakan untuk membuat keputusan dalam kombinasi dengan beberapa indikator lainnya.

Meringkaskan

Strategi perdagangan oscillator dinamis dengan menghilangkan pengaruh tren, mengirimkan sinyal perdagangan yang lebih akurat di zona overbought dan oversold. Strategi ini sederhana dan mudah diterapkan, tetapi juga memiliki risiko tertentu. Dengan parameter dan aturan yang dioptimalkan, stabilitas sistem dan profitabilitas dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/04/2017
// In July 1996 Futures magazine, E. Marshall Wall introduces the 
// Dynamic Momentum Oscillator (Dynamo). Please refer to this article 
// for interpretation.
// The Dynamo oscillator is a normalizing function which adjusts the 
// values of a standard oscillator for trendiness by taking the difference 
// between the value of the oscillator and a moving average of the oscillator 
// and then subtracting that value from the oscillator midpoint.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy(title="Dynamo", shorttitle="Dynamo")
OscLen = input(10, minval=1)
MALen = input(20, minval=1)
HiBand = input(77, minval=1)
LowBand = input(23)
reverse = input(false, title="Trade reverse")
hline(HiBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xOscK = stoch(close, high, low, OscLen)
xOscAvg = sma(xOscK, OscLen)
xMAVal = sma(xOscAvg, MALen)
maxNum = 9999999
LowestSoFar = iff(xOscAvg < nz(LowestSoFar[1], maxNum), xOscAvg, nz(LowestSoFar[1], maxNum))
HighestSoFar = iff(xOscAvg > nz(HighestSoFar[1]), xOscAvg, nz(HighestSoFar[1]))
MidPnt = (LowestSoFar + HighestSoFar) / 2
nRes = MidPnt - (xMAVal - xOscAvg)
pos = iff(nRes > HiBand, 1,
	     iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Dynamo")