Sistem yang Kuat Menggabungkan Strategi Pembalikan dan Mengikuti Tren

Penulis:ChaoZhang, Tanggal: 2023-10-27 16:22:08
Tag:

img

Gambaran umum

Double Dip Reversal Breakout System menggabungkan unsur-unsur strategi pembalikan dan trend-mengikuti dalam perdagangan kuantitatif. Ini menghasilkan sinyal beli dengan mendeteksi hari-hari turun berturut-turut dibandingkan dengan harga penutupan sebelumnya, dan sinyal jual ketika harga melintasi di atas garis rata-rata bergerak T3, memungkinkan perdagangan yang menguntungkan sambil mengelola risiko.

Cara Kerjanya

Sistem ini terdiri dari dua komponen:

  1. 123 Peralihan

Ini mengamati perubahan harga penutupan selama N hari terakhir. Jika penutupan hari ini lebih tinggi dari kemarin, dan kemarin lebih rendah dari hari sebelumnya, itu menandakan dua hari turun berturut-turut dan memicu sinyal beli.

  1. Rata-rata Bergerak T3

Garis T3 dihitung berdasarkan rata-rata bergerak eksponensial menggunakan rumus khusus. Dengan menyesuaikan parameter, ia mengontrol sensitivitas rata-rata bergerak terhadap perubahan harga. Sinyal jual dihasilkan ketika harga melintasi di atas garis T3.

Sistem menggabungkan dua sinyal di atas, menghasilkan sinyal perdagangan yang sebenarnya hanya ketika sinyal beli 123 Reversal dan sinyal T3 Sell terjadi bersama.

Analisis Keuntungan

  • Efektif untuk perdagangan pembalikan perikanan dasar dan naik bouncing kontra-trend
  • Rata-rata bergerak membantu mengunci keuntungan dan mengelola risiko
  • Mekanisme sinyal ganda meningkatkan validitas sinyal dan mengurangi sinyal palsu
  • Menggabungkan kekuatan kedua strategi trend-mengikuti dan pembalikan
  • Parameter yang dapat disesuaikan memungkinkan fleksibilitas untuk kondisi pasar yang berbeda

Analisis Risiko

  • Sinyal pembalikan mungkin salah, menyebabkan kehilangan perdagangan
  • Penyesuaian parameter yang tidak tepat dapat menyebabkan perdagangan berlebihan, meningkatkan biaya
  • Menjual sinyal dari rata-rata bergerak mungkin terlalu dini keluar dari tren menguntungkan
  • Risiko seperti berburu stop-loss tetap selama pasar yang tidak stabil
  • Parameter perlu dioptimalkan untuk instrumen yang berbeda

Untuk mengatasi risiko, hal berikut dapat dilakukan:

  1. Sesuaikan parameter pembalikan untuk meningkatkan validitas sinyal
  2. Penyesuaian parameter rata-rata bergerak untuk memperpanjang periode penahan
  3. Tambahkan stop loss untuk membatasi kerugian
  4. Mengoptimalkan parameter secara terpisah untuk instrumen yang berbeda

Peluang Peningkatan

Strategi ini dapat ditingkatkan dalam beberapa aspek:

  1. Tambahkan filter untuk memastikan validitas sinyal

    Indikator tambahan seperti volume breakout dapat ditambahkan sebagai filter untuk menghindari perdagangan palsu.

  2. Sesuaikan parameter untuk perubahan pasar

    Backtest berbagai kombinasi parameter dan pilih set memberikan hasil tertinggi.

  3. Mengintegrasikan pembelajaran mesin untuk optimasi adaptif

    Mengumpulkan dataset historis besar, melatih model ML untuk memprediksi titik masuk / keluar yang optimal, dan secara dinamis mengoptimalkan parameter.

  4. Mengoptimalkan parameter secara terpisah untuk instrumen yang berbeda

    Instrumen memiliki karakteristik yang berbeda, sehingga parameter optimal mereka juga berbeda.

Kesimpulan

Sistem Double Dip Reversal Breakout secara sinergis menggabungkan tren-mengikuti dan perdagangan reversal. Hal ini memungkinkan untuk membeli pada titik terendah setelah penurunan dan mengamankan keuntungan dari tren menggunakan rata-rata bergerak. Kombinasi efektif dari reversal dan sinyal tren memanfaatkan peluang reversal sambil mengunci keuntungan. Meskipun beberapa risiko, strategi dapat ditingkatkan melalui optimasi parameter, menambahkan filter dll untuk memenuhi kondisi pasar yang berbeda.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/09/2021
// 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
// This indicator plots the moving average described in the January, 1998 issue
// of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson.
// This indicator plots T3 moving average presented in Figure 4 in the article.
// T3 indicator is a moving average which is calculated according to formula:
//     T3(n) = GD(GD(GD(n))),
// where GD - generalized DEMA (Double EMA) and calculating according to this:
//     GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v,
// where "v" is volume factor, which determines how hot the moving average’s response
// to linear trends will be. The author advises to use v=0.7.
// When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive
// version of DEMA. By using a value for v less than1, trader cure the multiple DEMA
// overshoot problem but at the cost of accepting some additional phase delay.
// In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman
// filters are ones that use the error — in this case, (time series - EMA(n)) — 
// to correct themselves. In the realm of technical analysis, these are called adaptive
// moving averages; they track the time series more aggres-sively when it is making large
// moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in
// mathematics and computer science. He has privately traded options and equities for 15 years.  
//
// 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


T3A(Length, b) =>
    pos = 0.0
    xPrice = close
    xe1 = ema(xPrice, Length)
    xe2 = ema(xe1, Length)
    xe3 = ema(xe2, Length)
    xe4 = ema(xe3, Length)
    xe5 = ema(xe4, Length)
    xe6 = ema(xe5, Length)
    c1 = -b*b*b
    c2 = 3*b*b+3*b*b*b
    c3 = -6*b*b-3*b-3*b*b*b
    c4 = 1+3*b+b*b*b+3*b*b
    nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
    pos:= iff(nT3Average > close, -1,
           iff(nT3Average < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & T3 Averages", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- T3 Averages ----")
LengthT3 = input(5, minval=1)
b = input(0.7, minval=0.01,step=0.01) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3A = T3A(LengthT3, b)
pos = iff(posReversal123 == 1 and posT3A == 1 , 1,
	   iff(posReversal123 == -1 and posT3A == -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