Strategi ini menggunakan empat indikator teknikal yang berbeza, Brin Belt, RSI, MACD dan Stochastic, untuk berdagang panjang dan pendek dua arah. Pertama, ia menilai sama ada harga berada di luar saluran Brin Belt, dan jika ya, ia melakukan lebih banyak penyingkiran mengikut arah; kemudian menilai sama ada RSI berada di kawasan overbought, dan jika ya, ia boleh masuk mengikut arah; kemudian menilai sama ada MACD berlaku, dan jika ya, ia boleh masuk mengikut arah; dan akhirnya menilai sama ada Stochastic menghasilkan golden fork dan berada di kawasan overbought, dan jika syaratnya dipenuhi, ia boleh masuk.
Strategi ini menggunakan empat penunjuk utama iaitu Brinks, RSI, MACD dan Stochastic.
Beringkas Beringkas adalah di atas dan di bawah yang dikira berdasarkan perbezaan piawai harga saham, harga saham melebihi Beringkas Beringkas di atas dan di bawah yang mewakili harga saham telah keluar dari julat turun naik yang normal, yang mana ia boleh melakukan melakukan lebih banyak.
RSI dikira melalui Rise dan Fall yang cepat, apabila RSI di bawah 30 adalah oversold dan di atas 70 adalah overbought, boleh dijadikan sebagai isyarat beli beli.
MACD adalah purata indeks DIFF tolak perbezaan DEA, DIFF ke atas menembusi DEA sebagai tanda plus untuk garpu emas, DIFF ke bawah menembusi DEA sebagai tanda kosong untuk garpu mati.
Stochastic K line dan D line breakout juga boleh digunakan sebagai isyarat perdagangan, K line di bawah 20 adalah oversell, di atas 80 adalah overbuy, K line di atas D line adalah isyarat multihead, bawah D line adalah isyarat kosong.
Secara komprehensif menilai empat indikator ini melakukan banyak isyarat shorting, dapat meningkatkan kadar kejayaan masuk. Khususnya, apabila harga melebihi Bollinger banding dianggap sebagai banyak isyarat; apabila RSI di bawah 30 dianggap sebagai banyak isyarat; apabila MACD Gold Fork dianggap sebagai banyak isyarat; apabila Stochastic K Line melintasi D Line dan K Line di bawah 20 dianggap sebagai banyak isyarat. Apabila keempat-empat syarat ini dipenuhi, mengambil strategi untuk menambah atau melakukan lebih banyak.
Kelebihan utama strategi ini adalah bahawa ia menggabungkan beberapa indikator untuk menilai trend, dan mempunyai ketepatan dan kadar kemenangan yang lebih tinggi daripada satu indikator tunggal.
Pertama, strategi ini menggabungkan beberapa indikator jangka masa, termasuk penghakiman trend jangka menengah dan panjang di Brin Belt, dan penghakiman indikator jangka pendek di MACD, RSI, dan Stochastic, yang membolehkan strategi membuat penghakiman pada pelbagai dimensi masa, mengurangkan kebarangkalian kesalahan.
Kedua, strategi ini menggunakan prinsip pengesahan masuk pelbagai indikator, dan masuk hanya apabila beberapa indikator memberi isyarat pada masa yang sama, memastikan ketepatan masa masuk. Sebagai contoh, perlu memenuhi syarat keempat-empat indikator Brin, RSI, MACD dan Stochastic, untuk masuk dengan cara menaikkan kedudukan. Ini mengelakkan kegagalan yang mungkin berlaku pada satu indikator.
Tambahan pula, strategi ini menggunakan kombinasi indikator yang dapat saling melengkapi kelebihan indikator yang berbeza, meningkatkan kadar kemenangan. Sebagai contoh, RSI dapat menentukan overbought dan oversold, Bollinger Bands dapat menentukan trend yang menyimpang, MACD dapat melihat perubahan jangka pendek dan sebagainya. Menggunakan kombinasi indikator ini, dapat memanfaatkan kelebihan masing-masing.
Akhirnya, strategi ini menggunakan strategi penambahan, yang dapat menghasilkan lebih banyak keuntungan jika isyarat indikator ditentukan. Apabila empat isyarat indikator ditentukan, mengambil cara penambahan, akan menghasilkan lebih banyak keuntungan daripada perdagangan kuantitatif.
Strategi ini juga mempunyai risiko yang perlu diperhatikan.
Pertama, pelbagai parameter dan indikator digunakan dalam strategi, yang meningkatkan kesukaran untuk mengoptimumkan strategi. Terdapat banyak parameter yang perlu disesuaikan, dan banyak data sejarah yang perlu diuji berulang kali untuk mencari kombinasi parameter yang optimum.
Kedua, strategi bergantung pada beberapa petunjuk untuk menghantar isyarat pada masa yang sama, yang tidak biasa dan boleh menyebabkan frekuensi perdagangan yang rendah. Strategi akan menunjukkan kelemahan jika tidak dapat menangkap isyarat yang selaras untuk jangka masa yang lama.
Selain itu, strategi menaikkan saham boleh meningkatkan keuntungan, tetapi juga boleh meningkatkan kerugian. Apabila empat indikator salah menghantar isyarat sinkronisasi, mengambil saham akan menyebabkan kerugian yang lebih besar.
Akhirnya, strategi mengandaikan bahawa beberapa penunjuk memberi isyarat pada masa yang sama dengan pengesahan yang lebih kuat, tetapi bagaimana keputusan perlu dipertimbangkan apabila penunjuk berkeliaran. Apabila penunjuk tidak konsisten, strategi harus mewujudkan mekanisme keputusan kuantitatif.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Untuk mengoptimumkan parameter penunjuk untuk mencari kombinasi parameter terbaik. Pencarian optimum yang komprehensif untuk parameter penunjuk boleh dilakukan melalui algoritma genetik, carian grid dan lain-lain.
Tambah strategi hentikan kerugian untuk mengawal kerugian. Apabila harga menembusi satu titik ke arah yang tidak baik, ambil strategi hentikan kerugian untuk mengelakkan kerugian berkembang.
Mengoptimumkan logik kemasukan, menubuhkan mekanisme penilaian kuantitatif apabila petunjuk tidak konsisten. Sebagai contoh, menetapkan berat bagi pelbagai petunjuk, kemasukan mengikut penilaian.
Mengoptimumkan logik keluar, mengkaji peratusan keuntungan dan kerugian dalam tempoh pemegangan yang berbeza, membuat peraturan keluar yang optimum.
Mengoptimumkan jenis dagangan dan masa dagangan, menyesuaikan jenis dan masa dagangan yang sesuai dengan strategi tersebut.
Kesan kos urus niaga yang diuji, parameter untuk mengoptimumkan strategi berdasarkan titik slippage dan yuran.
Menambah algoritma pembelajaran mesin, menggunakan rangkaian saraf dan sebagainya untuk penyesuaian parameter dan pengoptimuman strategi.
Strategi ini menggunakan pelbagai parameter dan mekanisme pengesahan ganda untuk membuat keputusan, dengan parameter yang munasabah dan kawalan keadaan yang ketat, kesan strategi yang lebih baik dapat diperoleh. Tetapi terdapat juga kesukaran dan risiko operasi tertentu, yang perlu meningkatkan kestabilan dan kebolehpercayaan strategi melalui pengoptimuman yang berterusan. Kuncinya adalah untuk mencari perlawanan parameter indikator yang terbaik, membuat peraturan masuk dan keluar yang saintifik, dan mengawal risiko dengan baik, supaya strategi dapat terus menguntungkan dalam pasaran yang kompleks dan berubah-ubah.
/*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")