Strategi Transformasi Indeks Osilator

Penulis:ChaoZhang, Tarikh: 2023-12-22 14:21:28
Tag:

img

Ringkasan

Strategi Transformasi Indeks Osilator menggunakan persilangan antara indeks osilator 3-10 Bressert dan purata bergerak mudah 16 hari untuk menjana isyarat perdagangan.

Logika Strategi

Strategi ini berdasarkan indeks pengayun Bressert 3-10, yang merupakan perbezaan antara purata bergerak eksponensial 3 hari dan 10 hari. Ia pergi lama apabila garis cepat (3-10 pengayun) melintasi di atas garis perlahan (16-hari SMA), dan pergi pendek apabila garis cepat melintasi di bawah garis perlahan.

Secara khusus, strategi ini mula-mula mengira EMA 3 hari, EMA 10 hari dan perbezaannya sebagai indeks osilator. Ia kemudian mengira purata bergerak mudah 16 hari indeks osilator sebagai garis isyarat. Ia pergi lama apabila indeks osilator melintasi di atas garis isyarat dan pergi pendek apabila melintasi di bawah. Dagangan pembalikan dibenarkan.

Analisis Kelebihan

  1. Menggunakan indeks pengayun Bressert klasik yang agak berkesan
  2. Membentuk isyarat perdagangan yang jelas dengan penyeberangan garis cepat dan perlahan
  3. Membolehkan perdagangan pembalikan untuk menyesuaikan diri dengan rejimen pasaran yang berbeza
  4. Boleh digunakan dalam perdagangan intraday dan overnight

Analisis Risiko

  1. Prestasi pengayun Bressert tidak stabil dengan turun naik keuntungan / kerugian
  2. Persalinan garis yang cepat dan perlahan boleh menghasilkan isyarat palsu
  3. Perdagangan pembalikan mempunyai risiko yang lebih tinggi dan harus digunakan dengan berhati-hati
  4. Memerlukan stop loss untuk perdagangan intraday dan saiz kedudukan untuk perdagangan semalaman

Arahan pengoptimuman

  1. Mengoptimumkan parameter dengan menyesuaikan tempoh purata bergerak
  2. Tambah penapis menggunakan penunjuk lain atau tindakan harga
  3. Tambah strategi stop loss untuk mengehadkan saiz kerugian perdagangan tunggal
  4. Mengoptimumkan pengurusan modal untuk mengurangkan kesan penggunaan keseluruhan

Kesimpulan

Strategi Transformasi Indeks Osilator adalah strategi perdagangan jangka pendek yang menghasilkan isyarat dari 3-10 osilator dan penyeberangan garis isyarat. Ia mudah dan praktikal untuk penggunaan intraday dan semalaman, tetapi mempunyai turun naik PnL dan risiko isyarat palsu yang melekat. Penapis tambahan, penangguhan kerugian dan saiz kedudukan diperlukan untuk memperbaiki strategi. Dengan pengoptimuman yang betul, ia dapat mencapai alfa yang konsisten.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/03/2017
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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="D_Three Ten Osc", shorttitle="D_Three Ten Osc")
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice =  request.security(syminfo.tickerid,"D", hl2)
xfastMA = ema(xPrice, Length1)
xslowMA = ema(xPrice, Length2)
xMACD = xfastMA - xslowMA
xSignal = sma(xMACD, Length3)
pos = iff(xSignal > xMACD, -1,
	     iff(xSignal < xMACD, 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(request.security(syminfo.tickerid, "D", xMACD), color=blue, title="D_Three Ten Osc")
plot(request.security(syminfo.tickerid, "D", xSignal), color=red, title="D_Three Ave")

Lebih lanjut