Sumber daya yang dimuat... Pemuatan...

Strategi Pelacakan Tren Reverse Crossover Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2024-01-04 15:48:15
Tag:

img

Gambaran umum

Strategi ini adalah strategi kombinasi yang menggabungkan tiga strategi yang berbeda untuk menghasilkan sinyal perdagangan. Pertama, menggunakan strategi pola pembalikan 123, yang menghasilkan sinyal perdagangan ketika harga membentuk pola tertentu. Kedua, menggunakan strategi crossover rata-rata bergerak, yang menilai tren dengan membandingkan crossover antara rata-rata bergerak dan rata-rata bergerak eksponensial. Akhirnya, strategi ini juga memungkinkan untuk memilih apakah akan berdagang sebaliknya. Kombinasi dari tiga strategi ini dapat menangkap titik pembalikan tren sambil menyaring beberapa sinyal perdagangan yang bising.

Logika Strategi

123 Strategi pola pembalikan

Strategi ini berasal dari metode yang diusulkan dalam buku Ulf Jensen How I Tripped My Money in the Futures Market. Strategi ini diperdagangkan berdasarkan harga penutupan saham dan indikator Stochastic Oscillator. Secara khusus, aturannya adalah:

Ketika harga penutupan lebih tinggi dari harga penutupan sebelumnya dan juga lebih tinggi dari harga penutupan dua hari yang lalu, sementara Stochastic Slow 9 periode berada di bawah 50, pergi panjang. Ketika harga penutupan lebih rendah dari harga penutupan sebelumnya dan juga lebih rendah dari harga penutupan dua hari yang lalu, sementara Stochastic Fast 9 periode di atas 50, pergi pendek.

Dengan demikian, dapat menangkap peluang pembalikan ketika harga membentuk tiga hari tertinggi baru atau terendah sambil dikombinasikan dengan sinyal oversold atau overbought dari indikator stokastik.

Strategi Crossover Rata-rata Bergerak

Strategi ini menggunakan persilangan antara rata-rata bergerak sederhana periode lengthMA dan rata-rata bergerak eksponensial periode lengthEMA untuk menghasilkan sinyal perdagangan.

Ketika rata-rata bergerak eksponensial melintasi di atas rata-rata bergerak sederhana, pergi panjang. Ketika rata-rata bergerak eksponensial melintasi di bawah rata-rata bergerak sederhana, pergi pendek.

Dengan demikian, dapat secara intuitif menilai titik balik tren harga. Juga, rata-rata bergerak eksponensial lebih sensitif terhadap perubahan harga dan dapat mengeluarkan sinyal perdagangan lebih awal.

Perdagangan Kebalikan

Strategi ini memungkinkan untuk memilih apakah akan berdagang secara terbalik. Jika perdagangan terbalik dipilih, sinyal panjang menjadi sinyal pendek, dan sebaliknya. Ini mungkin lebih menguntungkan bagi beberapa pedagang yang dengan tegas percaya bahwa sering ada perilaku menyesatkan di pasar.

Keuntungan dari Strategi

Strategi gabungan ini mewarisi keunggulan dari berbagai strategi tunggal sampai batas tertentu, yang dapat mengurangi risiko dari strategi tunggal dan meningkatkan pengembalian.

Secara khusus, strategi pola pembalikan 123 dapat menangkap giliran tepat waktu ketika harga menunjukkan tanda-tanda pembalikan; strategi crossover rata-rata bergerak dapat menentukan arah tren; memungkinkan perdagangan terbalik dapat mengurangi kemungkinan menjadi perangkap.

Secara umum, strategi ini sensitif, melacak tren dengan baik, dan dapat dikonfigurasi sesuai dengan lingkungan pasar yang berbeda.

Risiko dari Strategi

Risiko yang paling signifikan dari strategi ini adalah bahwa strategi kombinasi itu sendiri cukup rumit, sehingga sulit untuk menentukan alasan kegagalan / keberhasilan dan tidak menguntungkan untuk optimasi strategi.

Selain itu, seperti strategi analisis teknis lainnya, strategi ini juga menghadapi risiko seperti terperangkap dan kegagalan stop-loss. Secara khusus, cenderung menghasilkan sinyal palsu ketika harga turun naik tajam. Juga, garis stop-loss cenderung rusak dalam tren yang gigih dan ganas.

Untuk mengurangi risiko ini, kita dapat menyesuaikan parameter dengan tepat untuk membuat indikator lebih stabil, melonggarkan garis stop loss secara wajar, atau menggunakan metode seperti volume stop loss.

Optimalisasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Tambahkan kondisi penyaringan seperti volume perdagangan dan volatilitas untuk menyaring sinyal yang tidak valid.

  2. Mengoptimalkan parameter untuk menemukan kombinasi parameter terbaik.

  3. Cobalah indikator crossover rata-rata bergerak yang berbeda untuk menemukan yang paling sesuai dengan pasar saat ini.

  4. Meningkatkan model pembelajaran mesin untuk mengoptimalkan parameter secara otomatis menggunakan teknologi AI.

Ringkasan

Sebagai strategi kombinasi, strategi ini menggabungkan keunggulan dari berbagai strategi tunggal dan dapat secara efektif melacak pembalikan tren. Ini cocok untuk operasi jangka menengah hingga panjang. Dengan optimasi yang tepat, manajemen risiko, dll., Kinerja dapat ditingkatkan secara signifikan. Ini layak penelitian mendalam, penerapan, dan peningkatan oleh praktisi perdagangan kuantitatif.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2020
// 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
// The Moving Average Crossover trading strategy is possibly the most popular
// trading strategy in the world of trading. First of them were written in the
// middle of XX century, when commodities trading strategies became popular.
// This strategy is a good example of so-called traditional strategies. 
// Traditional strategies are always long or short. That means they are never 
// out of the market. The concept of having a strategy that is always long or 
// short may be scary, particularly in today’s market where you don’t know what 
// is going to happen as far as risk on any one market. But a lot of traders 
// believe that the concept is still valid, especially for those of traders who 
// do their own research or their own discretionary trading. 
// This version uses crossover of moving average and its exponential moving average.
//
// 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

MACross(LengthMA,LengthEMA) =>
    pos = 0
    xMA = sma(close, LengthMA)
    xEMA = ema(xMA, LengthEMA)
    pos := iff(xEMA < xMA , 1,
	       iff(xEMA > xMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & MA Crossover", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMACross = MACross(LengthMA,LengthEMA)
pos = iff(posReversal123 == 1 and posMACross == 1 , 1,
	   iff(posReversal123 == -1 and posMACross == -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 )

Lebih banyak