Strategi ini menggunakan empat indikator teknis yang berbeda, yaitu Brin Belt, RSI, MACD, dan Stochastic, untuk melakukan perdagangan jangka panjang dan jangka pendek. Strategi ini pertama-tama menilai apakah harga berada di luar saluran Brin Belt, dan jika demikian, melakukan lebih banyak shorting sesuai arahnya; kemudian menilai apakah RSI berada di zona overbought dan oversold, dan jika demikian, masuk sesuai arahnya; kemudian menilai apakah MACD mengalami Gold Forks dan Dead Forks, dan jika demikian, masuk sesuai arahnya; dan akhirnya menilai apakah Stochastic menghasilkan Gold Forks dan Dead Forks dan berada di zona overbought dan oversold, dan jika memenuhi persyaratan, masuk.
Strategi ini menggunakan empat indikator utama, yaitu Brinks, RSI, MACD, dan Stochastic.
Beringin adalah perhitungan atas dan bawah berdasarkan perbedaan standar harga saham, harga saham di luar Beringin di atas dan di bawah menunjukkan bahwa harga saham telah keluar dari rentang fluktuasi normal, dan saat ini dapat melakukan shorting.
RSI diukur dengan Rise dan Fall yang cepat. Jika RSI di bawah 30 berarti oversold, dan di atas 70 berarti overbought.
MACD adalah rata-rata indeks DIFF dikurangi deviasi DEA, DIFF ke atas melewati DEA untuk tanda plus untuk Gold Fork, DIFF ke bawah melewati DEA untuk tanda kosong untuk Dead Fork.
Stochastic K line dan D line breakout juga dapat digunakan sebagai sinyal perdagangan, K line di bawah 20 adalah oversell, di atas 80 adalah overbuy, K line di atas D line adalah sinyal multihead, bawah D line adalah sinyal kosong.
Secara komprehensif menilai empat indikator ini melakukan lebih banyak sinyal shorting, dapat meningkatkan tingkat keberhasilan masuk. Secara khusus, ketika harga melebihi Bollinger banding dianggap sebagai multi-sinyal; ketika RSI di bawah 30 dianggap sebagai multi-sinyal; ketika MACD Gold Forks dianggap sebagai multi-sinyal; ketika Stochastic K garis melintasi D garis dan K garis di bawah 20 dianggap sebagai multi-sinyal.
Keuntungan terbesar dari strategi ini adalah kombinasi dari beberapa indikator untuk menilai tren, dengan akurasi dan tingkat kemenangan yang lebih tinggi dibandingkan dengan satu indikator.
Pertama, strategi ini menggabungkan beberapa indikator jangka waktu, termasuk penilaian tren jangka menengah dan panjang dari Brin Belt, dan penilaian indikator jangka pendek dari MACD, RSI, dan Stochastic, yang memungkinkan strategi untuk menilai pada beberapa dimensi waktu, mengurangi probabilitas kesalahan penilaian.
Kedua, strategi ini menggunakan prinsip konfirmasi masuk multi-indikator, hanya masuk ketika beberapa indikator mengirimkan sinyal secara bersamaan, memastikan ketepatan waktu masuk. Misalnya, harus memenuhi persyaratan keempat indikator Brin, RSI, MACD, dan Stochastic, untuk masuk dengan cara menaikkan posisi. Ini menghindari kemungkinan kegagalan satu indikator.
Selain itu, strategi ini menggunakan kombinasi indikator yang dapat saling melengkapi keunggulan dari berbagai indikator, meningkatkan tingkat kemenangan. Misalnya, RSI dapat menilai overbought dan oversold, Bollinger Bands dapat menilai trend deviasi, MACD dapat menemukan perubahan jangka pendek, dan sebagainya. Menggunakan kombinasi indikator ini, dapat memanfaatkan keuntungan masing-masing.
Akhirnya, strategi ini menggunakan strategi penargetan, yang menghasilkan lebih banyak keuntungan jika sinyal indikator ditentukan. Ketika empat sinyal indikator ditentukan, metode penargetan menghasilkan lebih banyak keuntungan daripada perdagangan kuantitatif.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan.
Pertama, ada banyak parameter dan indikator yang digunakan dalam strategi, yang membuat strategi menjadi lebih sulit untuk dioptimalkan. Ada banyak parameter yang harus disesuaikan, dan banyak data historis yang perlu diuji ulang untuk menemukan kombinasi parameter yang optimal.
Kedua, strategi bergantung pada beberapa indikator untuk mengirimkan sinyal pada saat yang sama, yang jarang terjadi, dan dapat menyebabkan frekuensi perdagangan yang rendah. Strategi akan menunjukkan kelemahan jika tidak dapat menangkap sinyal sinkronisasi untuk waktu yang lama.
Selain itu, strategi menaikkan posisi, meskipun dapat memperluas keuntungan, tetapi juga dapat memperluas kerugian. Ketika empat indikator salah mengirimkan sinyal sinkronisasi, mengambil posisi akan menyebabkan kerugian yang lebih besar.
Terakhir, strategi mengasumsikan bahwa beberapa indikator mengirimkan sinyal pada saat yang sama dengan konfirmasi yang lebih kuat, tetapi bagaimana keputusan dibuat ketika indikator beredar perlu dipertimbangkan.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Optimalkan parameter indikator untuk menemukan kombinasi parameter yang optimal. Pencarian optimalisasi yang komprehensif terhadap parameter indikator dapat dilakukan melalui algoritma genetik, pencarian grid, dll.
Menambahkan strategi stop loss untuk mengendalikan kerugian. Ketika harga menembus titik tertentu ke arah yang tidak menguntungkan, gunakan strategi stop loss exit untuk mencegah pertumbuhan kerugian.
Mengoptimalkan logis masuk, membangun mekanisme penilaian kuantitatif ketika indikator tidak konsisten. Misalnya, mengatur berat dari berbagai indikator, masuk sesuai dengan skor.
Mengoptimalkan logika keluar, mempelajari rasio keuntungan dan kerugian dalam periode kepemilikan yang berbeda, membuat aturan keluar yang optimal.
Mengoptimalkan varietas dan waktu perdagangan, menyesuaikan varietas dan waktu perdagangan yang sesuai dengan strategi tersebut.
Pengaruh biaya transaksi yang diuji, dengan parameter dari slippage dan strategi pengoptimalan biaya.
Menambahkan algoritma pembelajaran mesin, memanfaatkan jaringan saraf, dan lain-lain untuk beradaptasi parameter dan optimasi strategi.
Strategi ini mengintegrasikan penggunaan berbagai indikator dan mekanisme konfirmasi ganda untuk membuat keputusan, dengan parameter yang masuk akal dan kontrol kondisi yang ketat, dapat memperoleh efek strategi yang lebih baik. Namun, ada juga kesulitan dan risiko operasi tertentu, yang perlu meningkatkan stabilitas dan keandalan strategi melalui optimalisasi terus-menerus. Kuncinya adalah menemukan pencocokan parameter indikator yang optimal, membangun aturan masuk dan keluar yang ilmiah, dan mengendalikan risiko dengan baik, sehingga strategi dapat terus menguntungkan di pasar yang kompleks dan bervariasi.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MD strategy", overlay=true)
lengthrsi = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
source = close
lengthbb = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
direction = input(0, title = "Strategy Direction", minval=-1, maxval=1)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
consecutiveBarsUp = input(3)
consecutiveBarsDown = input(3)
lengthch = input( minval=1, maxval=1000, defval=5)
upBound = highest(high, lengthch)
downBound = lowest(low, lengthch)
lengthst = input(14, minval=1)
OverBoughtst = input(80)
OverSoldst = input(20)
smoothK = 3
smoothD = 3
k = sma(stoch(close, high, low, lengthst), smoothK)
d = sma(k, smoothD)
ups = price > price[1] ? nz(ups[1]) + 1 : 0
dns = price < price[1] ? nz(dns[1]) + 1 : 0
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
basis = sma(source, lengthbb)
dev = mult * stdev(source, lengthbb)
upper = basis + dev
lower = basis - dev
vrsi = rsi(price, lengthrsi)
if (not na(vrsi))
if (crossover(vrsi, overSold))
strategy.entry("RsiLE", strategy.long, comment="RsiLE")
if (crossunder(vrsi, overBought))
strategy.entry("RsiSE", strategy.short, comment="RsiSE")
if (crossover(source, lower))
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
else
strategy.cancel(id="BBandLE")
if (crossunder(source, upper))
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
strategy.cancel(id="BBandSE")
if (not na(k) and not na(d))
if (crossover(k,d) and k < OverSoldst)
strategy.entry("StochLE", strategy.long, comment="StochLE")
if (crossunder(k,d) and k > OverBoughtst)
strategy.entry("StochSE", strategy.short, comment="StochSE")
if (crossover(delta, 0))
strategy.entry("MacdLE", strategy.long, comment="MacdLE")
if (crossunder(delta, 0))
strategy.entry("MacdSE", strategy.short, comment="MacdSE")