Strategi Kombinasi Osilator Rata-rata Bergerak Pembalikan Linier Ganda


Tanggal Pembuatan: 2023-11-22 14:49:41 Akhirnya memodifikasi: 2023-11-22 14:49:41
menyalin: 1 Jumlah klik: 395
1
fokus pada
1214
Pengikut

Strategi Kombinasi Osilator Rata-rata Bergerak Pembalikan Linier Ganda

Ringkasan

Strategi ini adalah kombinasi dari strategi perdagangan reversal 123 yang dikemukakan oleh Wolf Jansen dalam bukunya, dengan oscillator rata-rata bergerak berbobot (KST) yang dikemukakan oleh Martin Prink, untuk membangun strategi kuantitatif yang menghasilkan sinyal perdagangan yang memanfaatkan reversal dan indikator tren yang bergoyang.

Prinsip Strategi

123 Mekanisme pembentukan terbalik

Logika inti dari bagian strategi ini adalah untuk memantau apakah harga penutupan saham telah bergeser dalam 2 hari terakhir, yaitu:

Jika harga penutupan dalam 2 hari terakhir berada dalam tren menurun, yaitu harga penutupan hari sebelumnya lebih tinggi dari 2 hari sebelumnya; dan harga penutupan hari ini berbalik naik dari hari sebelumnya, yaitu lebih tinggi dari harga penutupan hari sebelumnya, maka dapat dinilai bahwa dasar terbalik, menghasilkan sinyal beli.

Sebaliknya, jika dua hari terakhir harga penutupan berada dalam tren naik, yaitu harga penutupan hari sebelumnya lebih rendah dari dua hari sebelumnya; dan hari ini harga penutupan berbalik turun dari hari sebelumnya, yaitu lebih rendah dari harga penutupan hari sebelumnya, maka dapat dinilai top reversal, menghasilkan sinyal jual.

Bagian dari strategi ini juga menggabungkan indikator Stochastic untuk menilai apakah ada overbought atau oversold, dan memfilter sinyal perdagangan dari titik waktu yang tidak berbalik.

Mekanisme indikator KST

ROC dalam indikator KST mewakili tingkat perubahan harga, dengan ROC 6 hari, 10 hari, 15 hari, dan 20 hari, dan setelah rata-rata bergerak yang halus dari berbagai parameter, penjumlahan berat membentuk indikator KST.

Ketika garis cepat melewati garis lambat, maka nilai tersebut adalah bullish, dan ketika garis cepat melewati garis lambat, maka nilai tersebut adalah bearish. Di sini, garis cepat adalah nilai KST asli, dan garis lambat adalah rata-rata bergerak KST.

Strategi ini menggunakan KST>0 untuk penilaian bullish, KST untuk penilaian bearish.

Merger sinyal

Strategi pembalikan bentuk 123 dan sinyal Judgment dari indikator KST digabungkan:

  • Jika kedua sinyalnya sama, maka akan tercipta sinyal perdagangan ke arah tersebut.
  • Jika kedua sinyal tidak sesuai, tidak ada transaksi.

Seperti yang dapat dilihat, strategi ini menggunakan kombinasi reversal dan indikator untuk menilai dua jenis indikator teknis yang berbeda, yang dikombinasikan dengan intensitas sinyal mereka, untuk merancang strategi perdagangan kuantitatif yang lebih canggih.

Keunggulan Strategis

  • Bagian reverse morphology dapat secara efektif mengidentifikasi titik balik, dan bagian indikator dapat melacak tren, keduanya saling melengkapi
  • Kombinasi dengan filter indikator ganda, dapat meningkatkan kualitas sinyal dan mengurangi sinyal palsu
  • Parameter KST diatur secara fleksibel dan dapat dioptimalkan untuk saham dengan siklus yang berbeda
  • Dapat digunakan untuk saham yang berfluktuasi tinggi atau saham yang relatif stabil

Risiko Strategis

  • Risiko kegagalan pembalikan, sinyal pembalikan bisa menjadi terobosan palsu
  • Beberapa Kesempatan Terlewat Setelah Merger Sinyal
  • Parameter KST yang salah dapat mengganggu hasil yang lebih besar
  • KST terlambat saat harga saham bergejolak dan sinyalnya mungkin tidak konsisten.

Pengendalian risiko dapat dilakukan dengan menyesuaikan parameter, mengoptimalkan logika penilaian terbalik, dan memperkenalkan mekanisme stop loss.

Arah optimasi strategi

  • Optimalkan parameter Stochastic
  • Optimalkan parameter panjang baris KST
  • Meningkatkan volume transaksi atau filter indikator volatilitas
  • Meningkatkan penilaian tren dan menghindari perdagangan berlawanan
  • Memperkenalkan mekanisme stop loss

Meringkaskan

Strategi ini mengintegrasikan penggunaan berbagai jenis indikator teknis, dengan pengesahan ganda dan pengoptimalan kombinasi, secara ilmiah dirancang untuk menghasilkan strategi perdagangan kuantitatif yang lebih kuat, yang dapat dianggap sebagai contoh dari portofolio strategi. Kinerja nyata masih harus diverifikasi lebih lanjut, tetapi dari segi konsepsi teoretis, ia mempertimbangkan berbagai skenario secara menyeluruh, mengatasi keterbatasan indikator tunggal, dan layak untuk penelitian dan aplikasi lebih lanjut.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/03/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 really is the KST indicator presented by Martin Pring. 
// the KST indicator is a weighted summed rate of change oscillator that 
// is designed to identify meaningful turns. Various smoothed rate of change 
// indicators can be combined to form different measurements of cycles. 
//
// 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


MROC() =>
    pos = 0.0
    xROC6 = sma(roc(close, 6), 10)
    xROC10 = sma(roc(close, 10), 10)
    xROC15 = sma(roc(close, 15), 9)
    xROC20 = sma(roc(close, 20), 15)
    nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20)
    pos := iff(nRes > 0, 1,
    	     iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", 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)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMROC = MROC()
pos = iff(posReversal123 == 1 and posMROC == 1 , 1,
	   iff(posReversal123 == -1 and posMROC == -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 )