
Strategi ini merupakan kombinasi dari strategi 123 reversal dan strategi Martin Pringle K. Strategi ini bertujuan untuk memanfaatkan keuntungan dari strategi reversal dan strategi indikator siklus untuk mendapatkan sinyal jual beli yang lebih akurat.
Prinsip-prinsip Strategi:
Strategi K-Bow terdiri dari dua bagian:
123 Strategi reversal: Strategi ini didasarkan pada karakteristik saham yang berbalik harga penutupan selama 2 hari berturut-turut, dikombinasikan dengan indikator acak untuk menentukan kapan membeli dan menjual. Ketika harga penutupan lebih tinggi dari hari sebelumnya dan indikator acak di bawah 50, dianggap berada dalam tahap penutupan, menghasilkan sinyal beli; Ketika harga penutupan lebih rendah dari hari sebelumnya dan indikator acak di atas 50, dianggap berada dalam tahap alokasi, menghasilkan sinyal jual.
Strategi Martin Pringle K: Strategi ini menggunakan superimposisi dari berbagai kurva harga periode yang berbeda untuk membentuk indikator siklus komprehensif. Ketika indikator melewati rata-rata bergerak di atasnya, menghasilkan sinyal beli; Ketika melewati rata-rata bergerak di bawahnya, menghasilkan sinyal jual.
Strategi double K-bouncing melakukan pengolahan gabungan dari dua sinyal strategi, yaitu jika kedua strategi mengirimkan sinyal beli / jual pada saat yang sama, maka akan terjadi perdagangan yang sebenarnya. Dengan demikian, kedua strategi dapat memanfaatkan keunggulan masing-masing saat mereka memutuskan, dan menghindari salah satu strategi menghasilkan sinyal yang salah.
Analisis Keunggulan:
Menggabungkan dua strategi penilaian, membuat sinyal jual beli lebih dapat diandalkan dan menghindari kesalahan transaksi.
Strategi 123 reversal dapat menangkap peluang reversal jangka pendek, strategi Martin Pringle K dapat menilai tren jangka panjang, keduanya digabungkan untuk mempertimbangkan jangka pendek dan jangka panjang.
Menggunakan kurva kuantitatif dan kuantitatif yang bersifat multi-siklus, dan memiliki kecerdasan yang tajam dalam menilai pergerakan pasar yang beriklim tinggi.
Parameter indeks acak dapat dioptimalkan, dapat beradaptasi dengan karakteristik saham yang berbeda.
Analisis risiko:
Sinyal penggabungan mungkin melewatkan beberapa titik jual beli dan tidak dapat sepenuhnya mengikuti tren jangka pendek.
Dalam kasus luar sampel, dua sinyal strategi mungkin tidak konsisten dan perlu dikonfirmasi dengan tepat arah yang disukai.
Parameter yang perlu dipantau dan dioptimalkan untuk kedua strategi ini lebih sulit untuk dioptimalkan.
Optimasi parameter indikator jangka panjang dan pendek yang tidak tepat dapat melewatkan titik konversi siklus.
Cara Mengoptimalkan:
Uji efek dari berbagai parameter pada hasil strategi untuk menemukan kombinasi optimal.
Menambahkan modul stop loss untuk menghindari kerugian yang lebih besar.
Menambahkan modul optimasi volume posisi terbuka, menyesuaikan posisi sesuai dengan kondisi pasar.
Dengan menggunakan metode pembelajaran mesin untuk melatih model sinyal jual beli yang lebih kuat.
Tambahkan modul optimasi parameter yang dapat disesuaikan, sehingga parameter strategi dapat secara dinamis melacak irama pasar.
Kesimpulannya:
Strategi K-bouncing berhasil menggabungkan keunggulan strategi reversal dan strategi indikator berputar, dengan menjamin kualitas sinyal dan peluang keuntungan jangka pendek dan panjang. Strategi ini adalah ide baru, layak untuk diuji dan dioptimalkan lebih lanjut, dan memiliki potensi untuk menjadi strategi yang stabil. Namun, tetap perlu memperhatikan kontrol risiko dan pengoptimalan parameter untuk mendapatkan keuntungan yang stabil di pasar yang berubah-ubah yang kompleks.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 17/02/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
// Pring's Special K is a cyclical indicator created by Martin Pring.
// His method combines short-term, intermediate and long-term velocity
// into one complete series. Useful tool for Long Term Investors
// Modified for any source.
//
// 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
MPSK(a, sources) =>
pos = 0.0
roc1 = (sma(roc(sources,10),10)*1)
roc2 = (sma(roc(sources,15),10)*2)
roc3 = (sma(roc(sources,20),10)*3)
roc4 = (sma(roc(sources,30),15)*4)
roc5 = (sma(roc(sources,40),50)*1)
roc6 = (sma(roc(sources,65),65)*2)
roc7 = (sma(roc(sources,75),75)*3)
roc8 = (sma(roc(sources,100),100)*4)
roc9 = (sma(roc(sources,195),130)*1)
roc10 = (sma(roc(sources,265),130)*2)
roc11 = (sma(roc(sources,390),130)*3)
roc12 = (sma(roc(sources,530),195)*4)
osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12
oscsmt = sma(osc,a)
pos := iff(osc > oscsmt, 1,
iff(osc < oscsmt, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Martin Pring's Special K", 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, "---- Martin Pring`s ----")
a = input(10, title = "Smooth" )
sources = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMPSK = MPSK(a,sources)
pos = iff(posReversal123 == 1 and posMPSK == 1 , 1,
iff(posReversal123 == -1 and posMPSK == -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 )