123 Kembali Rata-rata Bergerak Konvergensi Divergensi Kombinasi Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-22 14:49:41
Tag:

img

Gambaran umum

Strategi ini menggabungkan 123 strategi perdagangan pembalikan yang diusulkan oleh Ulf Jensen dalam bukunya dengan Moving Average Convergence Divergence Oscillator (KST) yang diusulkan oleh Martin Pring untuk membangun strategi kuantitatif yang menghasilkan sinyal perdagangan dengan memanfaatkan pola pembalikan dan indikator osilasi tren.

Prinsip Strategi

123 Mekanisme pembentukan pembalikan

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

Jika harga penutupan dalam 2 hari terakhir berada dalam tren penurunan, yaitu, harga penutupan hari sebelumnya lebih tinggi dari yang sebelumnya; dan harga penutupan hari ini bangkit ke atas dari hari sebelumnya, yang lebih tinggi dari harga penutupan hari sebelumnya, itu dapat dinilai sebagai pembalikan bawah dan sinyal beli dihasilkan.

Sebaliknya, jika harga penutupan dalam 2 hari terakhir berada dalam tren kenaikan, yaitu, harga penutupan hari sebelumnya lebih rendah dari yang sebelumnya; dan harga penutupan hari ini turun dari hari sebelumnya, yang lebih rendah dari harga penutupan hari sebelumnya, itu dapat dinilai sebagai pembalikan atas dan sinyal jual dihasilkan.

Bagian dari strategi ini juga menggabungkan indikator Stochastic untuk menentukan apakah terlalu banyak dibeli atau terlalu banyak dijual untuk menyaring sinyal perdagangan non-reversal.

Prinsip Indikator KST

Dalam indikator KST, ROC mewakili tingkat perubahan harga, dengan menghitung ROC masing-masing 6 hari, 10 hari, 15 hari dan 20 hari, dan melakukan penjumlahan tertimbang setelah pemaluan rata-rata bergerak parameter yang berbeda untuk membangun indikator KST.

Ketika garis cepat melintasi di atas garis lambat, itu dinilai bullish; ketika garis cepat melintasi di bawah garis lambat, itu dinilai bearish.

Strategi ini menggunakan KST>0 untuk menilai bullish dan KST<0 untuk menilai bearish.

Penggabungan sinyal

Sinyal penilaian dari strategi pembalikan 123 dan indikator KST digabungkan:

  • Jika kedua sinyal yang sama, sinyal perdagangan dihasilkan dalam arah itu
  • Jika kedua sinyal berbeda, tidak ada perdagangan terjadi

Dapat dilihat bahwa strategi ini secara komprehensif menggunakan dua jenis indikator teknis yang berbeda, pola pembalikan dan penilaian indikator, dan menggabungkan kekuatan sinyal mereka untuk merancang strategi perdagangan kuantitatif yang lebih maju.

Keuntungan dari Strategi

  • Bagian pembalikan dapat secara efektif mengidentifikasi titik balik, dan bagian indikator dapat melacak tren, saling melengkapi
  • Penyaringan dengan indikator ganda dapat meningkatkan kualitas sinyal dan mengurangi sinyal palsu
  • Penyesuaian yang fleksibel dari parameter KST untuk optimalisasi untuk stok dari siklus yang berbeda
  • Dapat beradaptasi dengan saham volatilitas tinggi, juga dapat digunakan untuk saham yang relatif stabil

Risiko dari Strategi

  • Risiko kegagalan pembalikan, sinyal pembalikan juga bisa menjadi pecah palsu
  • Beberapa kesempatan mungkin terlewatkan setelah merger sinyal
  • Parameter KST yang tidak tepat dapat sangat mengganggu hasil
  • Ketika harga saham berfluktuasi tajam, KST tertinggal, sinyal yang tidak konsisten dapat muncul

Metode seperti penyesuaian parameter, optimasi logika pembalikan, pengenalan mekanisme stop loss dapat digunakan untuk mengendalikan risiko.

Arah Optimalisasi

  • Mengoptimalkan Parameter Stochastic
  • Mengoptimalkan parameter panjang garis KST
  • Menambahkan volume perdagangan atau indeks volatilitas filter
  • Tambahkan penilaian tren untuk menghindari perdagangan melawan tren
  • Memperkenalkan mekanisme stop loss

Kesimpulan

Strategi ini mengintegrasikan beberapa jenis indikator teknis yang berbeda. Melalui konfirmasi ganda dan pengoptimalan kombinasi, secara ilmiah merancang strategi perdagangan kuantitatif yang relatif kuat, dan ini adalah model kombinasi strategi. Kinerja dalam perdagangan langsung belum diverifikasi lebih lanjut, tetapi dari perspektif konseptualisasi teoritis, secara komprehensif mempertimbangkan beberapa skenario, memecahkan keterbatasan indikator tunggal, dan layak penelitian dan aplikasi lebih lanjut.


/*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 )

Lebih banyak