
Strategi ini menggunakan indikator RSI untuk mengidentifikasi sinyal overbought dan oversold, Bollinger Bands untuk menentukan harga terobosan, dan Forks of Equity untuk menilai pasar dan menghasilkan keuntungan di berbagai tahap tren.
Strategi ini terdiri dari beberapa indikator:
Indikator RSI: Ketika garis indikator RSI melewati garis overbought yang ditetapkan atau melewati garis oversold, lakukan operasi overbought atau underbought yang sesuai.
Boll band: melakukan shorting ketika harga menembus Boll band dan naik; melakukan multiply ketika harga menembus Boll band.
Garis rata-rata: menghitung harga tertinggi dan terendah dalam periode tertentu (misalnya 5 siklus), jika harga lebih tinggi dari titik tertinggi dalam 5 siklus terakhir, lakukan plus; jika harga lebih rendah dari titik terendah dalam 5 siklus terakhir, lakukan minus.
MACD: Menghitung garis cepat, garis lambat, dan garis MACD sebagai indikator penilaian tambahan.
Beberapa indikator ini saling terkait, dalam situasi tren, menggunakan Brin band untuk menentukan titik waktu dari harga pecah dan kembali ke sumbu tengah; dalam situasi konsolidasi, menggunakan penilaian garis rata untuk menangkap titik perubahan tren; dalam situasi overbought oversold, menggunakan penilaian zona nilai ekstrim dari indikator RSI untuk mencapai operasi reversal.
Strategi ini memiliki beberapa keuntungan:
Kombinasi multi-indikator, penilaian yang akurat. RSI, Brin Belt, dan Garis Rata-rata saling diverifikasi, membuat sinyal perdagangan lebih dapat diandalkan.
Ada beberapa jenis situasi yang dapat diatasi, yaitu: tren yang menggunakan Brin Band, perdagangan yang menggunakan garis rata-rata, dan perdagangan yang menggunakan RSI.
Frekuensi operasi sedang. Pengaturan parameter indikator lebih berhati-hati, menghindari terlalu sering berdagang.
Struktur program yang jelas. Kode yang ditulis sesuai dengan spesifikasi, mudah dibaca dan digunakan kembali.
Strategi ini juga memiliki beberapa risiko:
Risiko pengaturan parameter. Pengaturan parameter indikator yang tidak tepat dapat menyebabkan kesalahan sinyal perdagangan. Parameter optimasi perlu diuji berulang kali.
Risiko swap overhead. Pada titik pivot pasar, swap overhead mungkin lebih sering terjadi, dan biaya transaksi akan meningkat. Anda dapat menyesuaikan waktu memegang posisi dengan tepat.
Programming Implementation Risk. Mungkin ada beberapa kesalahan logis yang sulit ditemukan dalam kode, yang menyebabkan transaksi yang tidak biasa.
Strategi ini juga dapat dioptimalkan dari beberapa arah:
Meningkatkan strategi stop loss untuk mengunci keuntungan dan mengurangi kerugian.
Menggabungkan indikator volume transaksi untuk menghindari sinyal palsu. Misalnya, memeriksa volume transaksi saat menerobos BRI.
Menambahkan algoritma pembelajaran mesin, memanfaatkan pelatihan data historis, dan mengoptimalkan parameter secara otomatis.
Menambahkan tampilan grafis untuk menampilkan kinerja strategi secara intuitif.
Optimalkan pengembalian dan pilih kombinasi parameter yang optimal.
Strategi ini menggabungkan beberapa indikator seperti garis rata-rata, Brin, RSI, dan lain-lain untuk membentuk sinyal perdagangan melalui kombinasi indikator. Keuntungan dari strategi ini adalah kemampuan beradaptasi yang kuat dan penilaian yang akurat. Risiko terutama dalam pengaturan parameter dan implementasi program, yang memerlukan pengujian yang terus-menerus.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-15 00:00:00
period: 4h
basePeriod: 15m
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)
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(close[lengthch]))
strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE")
strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)