
Strategi pelacakan tren dinamis dua mekanisme adalah strategi pelacakan tren yang menggabungkan dua sinyal strategi perdagangan yang berbeda. Strategi ini pertama-tama menggunakan strategi 123 reversal untuk menentukan titik balik harga, kemudian digabungkan dengan indeks sintesis harga ((D_DSP) untuk menentukan arah tren harga, dan akhirnya menggabungkan dua sinyal untuk menghasilkan instruksi perdagangan.
Strategi ini terutama digunakan untuk melacak tren jangka pendek dan menengah, mengatur stop loss dinamis melalui mekanisme ganda, yang dapat secara efektif mengunci keuntungan dan menghindari perluasan kerugian.
Strategi 123 berbalik berasal dari Ulf Jensen dalam buku How I Tripled My Money in the Futures Market, halaman 183. Strategi ini menilai apakah dua bentuk berbalik BAR secara berturut-turut terjadi pada harga yang membentuk sinyal berbalik harga.
Logika spesifiknya adalah, jika harga penutupan lebih rendah dari harga penutupan hari sebelumnya, dan garis K lambat di bawah 50 menghasilkan sinyal beli; Jika harga penutupan lebih tinggi dari harga penutupan hari sebelumnya, dan garis K cepat di atas 50 menghasilkan sinyal jual.
Indeks harga sintetis berlawanan tren (D_DSP) adalah indikator yang digunakan untuk menentukan arah tren harga, yang konsisten dengan perubahan siklus harga aktual. D_DSP dihitung dengan mengurang rata-rata pergerakan indeks berputar 1 / 4 dari harga dengan mengurangi rata-rata pergerakan indeks berputar 1 / 2.
Jika D_DSP positif, berarti harga berada dalam tren naik; jika D_DSP negatif, berarti harga berada dalam tren turun.
Strategi ini menghasilkan instruksi perdagangan dengan menggabungkan strategi 123 reversal dan dua mekanisme penilaian indeks D_DSP, jika dua sinyal adalah sejajar (seperti biner atau biner kosong); jika sinyal tidak sejalan, maka posisi dibersihkan.
Mekanisme dua kali konfirmasi ini dapat secara efektif menyaring perdagangan yang berisik dan mengunci tren yang menguntungkan.
Keuntungan terbesar dari strategi pelacakan tren dinamis dua mekanisme adalah pengaturan dua tingkat stop loss. Pertama, pada dimensi waktu, perbedaan indikator acak yang cepat dan lambat membentuk stop loss yang tidak sesuai dengan waktu; kedua, pada dimensi harga, strategi pembalikan itu sendiri mengandung fungsi stop loss tertentu.
Dua lapisan stop dapat mengunci keuntungan secara maksimal dan mencegah terjadinya kerugian dalam strategi stop loss tunggal. Selain itu, mekanisme double confirmation juga dapat secara efektif menyaring sinyal kesalahan yang dipicu oleh perubahan harga non-mainstream.
Risiko terbesar dari strategi ini adalah parameter yang ditetapkan terlalu static. Misalnya, pengaturan panjang siklus yang tidak tepat dapat melewatkan tren utama, sehingga kehilangan peluang untuk mendapatkan keuntungan atau meningkatkan kerugian; double confirmation yang ditetapkan terlalu static juga dapat kehilangan stop loss tepat waktu.
Selain itu, ketika strategi reversal dikombinasikan dengan strategi tren, operasi likuidasi dalam kasus ketidakkonsistenan penilaian keduanya juga dapat melewatkan kesempatan untuk melanjutkan tren berikutnya yang berjalan ke arah utama.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Optimalisasi parameter siklus. Menghitung parameter optimal dengan lebih banyak data pengembalian dan mengatur parameter siklus yang lebih sesuai.
Menambahkan strategi stop loss, seperti breaking stop loss, tracking stop loss, dan lain-lain, dengan pengaturan stop loss yang lebih dinamis dan lebih masuk akal.
Optimalkan aturan penilaian. Sesuaikan sensitivitas penilaian pengesahan ganda untuk mencegah terjadinya kesalahan yang terlalu radikal dalam penghapusan.
Tambahkan filter. Atur filter getaran harga untuk menghindari sinyal misjudgment getaran rata-rata di akhir tren.
Strategi pelacakan tren dinamis mekanisme ganda dengan cepat dan lambat indikator acak double stop dan reversal dan penilaian tren double konfirmasi, mencapai pelacakan tren yang efektif dan kontrol risiko. Strategi ini mempertimbangkan faktor waktu dari pergerakan harga, juga mempertimbangkan arah harga itu sendiri, membentuk dasar keputusan tiga dimensi.
Strategi ini diharapkan untuk mendapatkan hasil yang lebih baik dengan terus mengoptimalkan aturan penilaian dan pengaturan parameter. Namun, pengoptimalan strategi perdagangan membutuhkan dukungan dari banyak tes data historis, dan strategi opsi saham dan strategi stop loss juga perlu terus diperbaiki.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/11/2019
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Detrended Synthetic Price is a function that is in phase with the
// dominant cycle of real price data. This DSP is computed by subtracting
// a half-cycle exponential moving average (EMA) from the quarter cycle
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
D_DSP(Length) =>
pos = 0.0
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos := iff(xEMA1_EMA2 > 0, 1,
iff(xEMA1_EMA2 < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_DSP (Detrended Synthetic Price)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDSP = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_DSP = D_DSP(LengthDSP)
pos = iff(posReversal123 == 1 and posD_DSP == 1 , 1,
iff(posReversal123 == -1 and posD_DSP == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )