Strategi ini menggunakan kombinasi strategi 123 reversal dan strategi linear regression intersection, untuk mencapai strategi perdagangan kombinasi yang didorong oleh banyak faktor. Strategi 123 reversal menilai hubungan harga dua hari perdagangan terakhir, digabungkan dengan indikator Stoch untuk menilai sinyal reversal. Strategi linear regression intersection menggunakan analisis regresi linier untuk menilai hubungan harga dengan garis tren, menghasilkan perdagangan.
Strategi ini didasarkan pada prinsip-prinsip berikut:
Jika hubungan harga penutupan dua hari terakhir adalah harga penutupan hari ini lebih tinggi dari kemarin, dan garis cepat Stoch lebih rendah dari garis lambat, maka ada sinyal reversal bullish
Jika hubungan harga penutupan dua hari perdagangan terakhir adalah harga penutupan hari ini lebih rendah dari kemarin, dan garis cepat Stoch lebih tinggi dari garis lambat, maka ada sinyal pembalikan turun
Aturan penilaian adalah sebagai berikut:
Jika harga tutup hari ini > harga tutup kemarin dan garis cepat Stoch parameter yang ditetapkan, menghasilkan sinyal beli
Jika harga tutup hari ini < harga tutup kemarin dan garis cepat Stoch > garis lambat Stoch dan garis cepat Stoch < set parameter, menghasilkan sinyal jual
Strategi ini memerlukan pengaturan parameter indikator Stoch, termasuk: menghitung siklus K-line Length Stoch, siklus kelancaran garis cepat Stoch K-Smoothing, siklus kelancaran garis lambat Stoch D-Length, dan tingkat penilaian garis cepat Stoch.
Strategi ini didasarkan pada analisis regresi linier untuk menentukan hubungan harga dengan garis tren regresi linier, dengan aturan sebagai berikut:
Jika harga penutupan lebih besar dari batas batas regresi linier, maka akan ada sinyal beli
Jika harga close out lebih kecil dari batas linear regression, menghasilkan sinyal sell
Strategi ini membutuhkan pengaturan siklus regresi linier LengthLRI, dan regresi linier input sumber data xSeria.
Strategi kombinasi ini membutuhkan sinyal beli/jual dari strategi 123 reversal dan strategi linear regression intercept untuk menghasilkan instruksi perdagangan yang sebenarnya, sehingga secara efektif menghilangkan sinyal palsu dan meningkatkan efektivitas perdagangan.
Strategi ini memiliki keuntungan sebagai berikut:
Kombinasi dua jenis strategi yang berbeda, dua strategi harus menghasilkan sinyal pada saat yang sama, untuk benar-benar memesan. Mekanisme multi-faktor verifikasi ini dapat menyaring sinyal salah yang dihasilkan oleh strategi tertentu, mengurangi transaksi yang tidak perlu, dan secara efektif meningkatkan kualitas sinyal.
Linear regression intercept dapat mencerminkan hubungan antara harga dan garis tren secara real time, dan jika harga telah sangat menyimpang dari tren, memberi tahu strategi dalam waktu yang tepat untuk menyesuaikan arah posisi. Dengan demikian, Anda dapat menghentikan kerugian tepat waktu dan menghindari terjebak dalam tren sejarah.
Strategi regresi linier lebih baik dalam mengidentifikasi titik jual dan harga tren, sedangkan strategi 123 reversal berfokus pada pengidentifikasi titik balik. Kedua strategi dapat dengan baik menggabungkan keuntungan dari perdagangan tren dan perdagangan reversal.
Kedua strategi ini menawarkan beberapa parameter yang dapat disesuaikan, dan dapat dioptimalkan untuk varietas dan tren yang berbeda.
Strategi ini juga memiliki risiko sebagai berikut:
Sinyal perdagangan yang harus memenuhi dua strategi akan kehilangan sebagian peluang untuk mendapatkan keuntungan hanya dengan mengandalkan satu strategi. Jika salah satu strategi melemah, itu akan menurunkan efektivitas perdagangan secara keseluruhan.
Regressi linier membutuhkan data historis tertentu untuk dihitung, tidak dapat bereaksi secara real-time terhadap peristiwa mendadak, ada keterlambatan tertentu. Jika harga melompat tinggi, garis tren regressi linier membutuhkan waktu untuk disesuaikan, dan waktu ini dapat menghasilkan sinyal yang salah.
Kedua strategi ini memerlukan pilihan parameter yang sesuai, dan mungkin perlu menyesuaikan parameter secara independen untuk beberapa varietas. Jika parameter dipilih dengan tidak tepat, akan sangat mengurangi efek strategi.
Risiko dapat dikurangi dengan:
Kondisi pemicu sinyal kombinasi yang dilepaskan secara tepat untuk mencegah terjadinya peluang yang terlewatkan
Regressi linier alternatif, seperti indikator tren, untuk mendapatkan penilaian tren yang lebih real-time
Optimasi parameter dengan metode pembelajaran mesin dan lain-lain untuk meningkatkan hasil pemilihan parameter
Strategi ini dapat dioptimalkan lebih lanjut dengan:
Dapat mengumpulkan data historis, merancang tujuan optimasi parameter, dan mencari kombinasi parameter optimal menggunakan algoritma pembelajaran mesin seperti algoritma genetik, optimasi Bayesian, dan lain-lain.
Anda dapat mengatur aturan stop loss untuk mengontrol kerugian maksimum dalam satu transaksi.
Dengan menambahkan kondisi tambahan untuk masuk ke pasar, seperti filter rata-rata, penilaian Brinks, dan lain-lain, dapat mengurangi frekuensi penyesuaian posisi, dan menghindari kecurangan.
Menggunakan teknologi pemrosesan bahasa alami untuk menilai sentimen peserta pasar, membantu keputusan perdagangan.
Menggunakan model pembelajaran mendalam seperti LSTM, GRU untuk memprediksi harga, sebagai dasar referensi penting untuk keputusan strategis.
Strategi ini menggunakan kombinasi strategi 123 reversal dan strategi linear regression intercept, untuk mencapai perdagangan kuantitatif yang didorong oleh banyak faktor, mekanisme verifikasi dapat secara efektif memfilter sinyal palsu, sekaligus menangkap peluang reversal dan perdagangan tren. Namun, strategi ini juga memiliki risiko keterlambatan tertentu, perlu memperhatikan optimasi parameter dan melakukan perluasan mekanisme kontrol angin, untuk meningkatkan stabilitas strategi.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/01/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
// Linear Regression Intercept is one of the indicators calculated by using the
// Linear Regression technique. Linear regression indicates the value of the Y
// (generally the price) when the value of X (the time series) is 0. Linear
// Regression Intercept is used along with the Linear Regression Slope to create
// the Linear Regression Line. The Linear Regression Intercept along with the Slope
// creates the Regression line.
//
// 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
LRI(Length,xSeria) =>
pos = 0.0
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 0.0
for i = 0 to Length-1
xXY := xXY + (i * xSeria[i])
xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
pos:= iff(close > xLRI, 1,
iff(close < xLRI, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", 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, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
iff(posReversal123 == -1 and posLRI == -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 )