
Strategi double opportunity reversal adalah strategi kombinasi yang menggunakan strategi 123 reversal dan Stochastic RSI secara komprehensif. Strategi ini pertama-tama menilai apakah harga telah mengalami 123 reversal, kemudian digabungkan dengan indikator Stochastic RSI untuk mengkonfirmasi kembali sinyal reversal, dan hanya jika keduanya mengirimkan sinyal pada saat yang sama, maka posisi akan terbuka untuk melakukan over atau under.
Strategi ini terdiri dari dua bagian:
Bagian ini menggunakan 123 bentuk untuk menilai reversal harga. Logika spesifiknya adalah:
Jika harga penutupan lebih rendah dari harga penutupan kemarin, dan harga penutupan saat ini lebih tinggi dari harga penutupan kemarin, dan Stochastic Perlahan pada hari ke-9 lebih rendah dari 50, lakukan lebih banyak
Jika harga penutupan lebih tinggi dari harga penutupan kemarin, dan harga penutupan saat ini lebih rendah dari harga penutupan kemarin, dan pada tanggal 9 Fast Stochastic lebih tinggi dari 50, maka melakukan shorting
Ini akan membantu untuk menemukan tanda-tanda awal dari perubahan harga.
Bagian ini menggunakan indikator Stochastic untuk menganalisis RSI lagi dan menilai konversi konfirmasi:
Untuk menghitung nilai RSI, panjangnya adalah 14.
Analisis stokastik untuk RSI, panjang 14, mendapatkan nilai K
Menghitung nilai SMA D 3 hari dari nilai K
Jika K lebih dari 80 maka lebih banyak, dan jika K kurang dari 20 maka tidak ada.
Hanya jika kedua bagian strategi memberi sinyal pada saat yang sama, maka posisi akan dibuka.
Keuntungan terbesar dari strategi ini adalah penggunaan metode double confirmation, yang dapat secara efektif menyaring sinyal misinformasi dan meningkatkan stabilitas. Keuntungan spesifiknya adalah sebagai berikut:
123 reversal dapat lebih cepat menentukan tren reversal harga
Stochastic RSI memberikan konfirmasi reversal untuk menghindari kehilangan titik balik
Kombinasi keduanya dapat meningkatkan tingkat kemenangan dan mengurangi kemungkinan terjadinya kesalahan informasi.
Optimasi dengan kombinasi parameter, dapat menyesuaikan parameter untuk pasar yang berbeda
Implementasi pemrograman sederhana dan jelas, mudah diterapkan pada hard disk
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Risiko kegagalan reversal. Pasar dapat mengalami reversal palsu yang menyebabkan kerugian.
Risiko pengoptimalan parameter. Kombinasi parameter yang tidak tepat dapat menyebabkan efektivitas strategi yang buruk.
Risiko over-optimisasi. Parameter over-optimisasi terhadap data historis, dan efek di masa depan tidak dapat direplikasi.
Risiko frekuensi perdagangan yang terlalu tinggi. Sinyal ganda dapat meningkatkan frekuensi perdagangan, sehingga meningkatkan biaya slippage.
Kode implementasi berisiko. Kode yang memiliki kesalahan dapat menyebabkan efek disk yang tidak normal.
Solusi yang sesuai:
Menyesuaikan ukuran posisi dengan tepat, mengendalikan kerugian tunggal.
Optimalisasi parameter menggunakan metode walk-forward.
Berpikir pada stabilitas parameter, tidak mencari keuntungan yang tinggi.
Adapun kondisi pembukaan posisi harus disesuaikan dengan kondisi yang berlaku, sehingga frekuensi transaksi dapat dikurangi.
Tes kode dengan hati-hati untuk memastikan logika benar.
Strategi ini dapat dioptimalkan dengan:
Parameter Optimasi: Anda dapat menyesuaikan parameter seperti Stochastic untuk mengoptimalkan untuk pasar tertentu.
Optimalkan kondisi pembukaan posisi. Anda dapat menambahkan faktor-faktor penilaian lainnya untuk menghindari terbaliknya dorongan.
Optimalkan mekanisme stop loss. Anda dapat mengatur stop loss bergerak, stop loss waktu dan sebagainya.
Menurunkan frekuensi transaksi. Dapat meningkatkan kondisi penyaringan transaksi, mengurangi frekuensi transaksi.
Menambahkan manajemen posisi. Mengatur ukuran posisi sesuai dengan kondisi pasar.
Pertimbangkan faktor biaya. Sesuaikan parameter strategi dengan biaya yang sebenarnya.
Strategi kuantifikasi inversi peluang ganda secara keseluruhan adalah strategi inversi garis pendek yang stabil dan praktis. Ini memiliki sensitivitas menangkap inversi dan stabilitas penyaringan ganda. Dengan optimasi parameter dan modifikasi yang tepat, strategi ini dapat menjadi komponen efektif dalam sistem strategi kuantifikasi.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 03/08/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 strategy used to calculate the Stochastic RSI
//
// 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
SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) =>
pos = 0.0
Source = close
rsi1 = rsi(Source, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
d_cross_80 = cross(d,TopBand)
pos := iff(k > TopBand, 1,
iff(k < LowBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Stochastic RSI", 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, "---- Stochastic RSI ----")
TopBand = input(80, step=0.01)
LowBand = input(20, step=0.01)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand)
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
iff(posReversal123 == -1 and posSRSI == -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 )