Strategi Bollinger Bands Golden Cross dan Dead Cross


Tanggal Pembuatan: 2023-11-23 14:01:57 Akhirnya memodifikasi: 2023-11-23 14:01:57
menyalin: 0 Jumlah klik: 548
1
fokus pada
1617
Pengikut

Strategi Bollinger Bands Golden Cross dan Dead Cross

Ringkasan

Strategi ini didasarkan pada Bollinger Bands Gold Fork Dead Fork untuk melakukan lebih banyak shorting. Ketika harga menembus Bollinger Bands ke arah atas, shorting; Ketika harga menembus Bollinger Bands ke arah bawah, overdoing. Selama memegang posisi, akan dilakukan penambahan posisi dan stop loss tracking.

Prinsip Strategi

Strategi ini menggunakan 3 lintasan atas dan bawah dari Brin Belt. Lintasan tengah dari Brin Belt adalah rata-rata bergerak n hari, lintasan atas adalah lintasan tengah + k kali perbedaan standar n hari, lintasan bawah adalah lintasan tengah - k kali perbedaan standar n hari.

Ketika harga turun dari bawah ke atas, menunjukkan bahwa harga mulai naik, maka lakukan lebih banyak; ketika harga turun dari atas ke bawah, menunjukkan bahwa harga mulai turun, maka lakukan lebih banyak.

Setelah melakukan short over, maka akan dilanjutkan dengan melakukan up position. Kondisi untuk melakukan up position adalah berdasarkan pada posisi yang telah dipegang. Jika harga kembali menyentuh garis rata-rata, maka akan dibuka lagi posisi untuk melakukan over atau short over.

Stop loss tracking juga akan diperbarui secara real time untuk semua pemegang saham. Stop loss line akan diatur berdasarkan perbedaan antara harga rata-rata pemegang saham saat ini dengan harga Brin.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menggunakan indikator BRI, dapat menangkap harga terobosan, melakukan lebih banyak shorting dengan tepat
  2. Pengakuan resmi masuk dengan menggunakan metode garpu emas
  3. “Kalau Anda memiliki saham, Anda bisa mendapatkan lebih banyak uang.
  4. Pembaruan real-time stop loss, menghindari stop loss dari shock

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Bollinger Bands, sebagai indikator, lebih sensitif terhadap pergerakan pasar dan mungkin akan dieksploitasi.
  2. Cara berhijair meningkatkan risiko, dan kerugian akan diperbesar
  3. Garis mati tidak mutlak, tetapi ada kemungkinan untuk ditempatkan.

Ada beberapa cara untuk mengoptimalkan risiko ini:

  1. Menyesuaikan parameter Brinstrand dengan siklus yang berbeda
  2. Tingkat dan frekuensi optimasi penambahan
  3. Menambahkan rel tengah sebagai jalur penghentian lebih lanjut

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter Brin Belt untuk lebih banyak lingkungan pasar
  2. Mengoptimalkan logika investasi, menyeimbangkan risiko dan keuntungan
  3. Menambahkan stop loss, seperti stop loss di rel tengah
  4. Meningkatkan Strategi Penanggulangan, Meningkatkan Aktivitas Penanggulangan
  5. Filter waktu masuk dengan indikator lainnya
  6. Optimalkan pengelolaan dana, kendalikan risiko tunggal

Meringkaskan

Strategi ini secara keseluruhan adalah strategi pelacakan tren yang khas. Strategi ini dapat berjalan secara berurutan dan mendapatkan keuntungan ketika tren muncul. Namun, strategi ini juga memiliki risiko tertentu yang perlu dioptimalkan dan diperbaiki lebih lanjut untuk menyesuaikan diri dengan lebih banyak situasi pasar dan mengurangi risiko yang ditimbulkan oleh terobosan palsu.

Kode Sumber Strategi
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

strategy(title='Bollinger Band strategy with split, limit, stop', shorttitle='bb strategy', overlay=true,commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, pyramiding = 4)



//Summary: Going Long or Short when Entering after Breaking the Bollinger Bands\
//At this time, the stop-loss, profit-taking price, and pyramiding standard\
// are determined from the difference between the position average price and the band price.

//After entering the position, if the price crosses the mid-band line, the stop loss is adjusted to the mid-band line.



//each trade, entry position size = 10% of total cash
//max pyramiding is 4
//commission = 0.01%





in_period = true


bb_length = input.int(20)
bb_mult = input.int(2)

[middle, upper, lower] = ta.bb(close,bb_length, bb_mult)
plot(middle, color=color.aqua)
plot(upper, color=color.orange)
plot(lower, color=color.orange)
long_cond = ta.crossover(close,lower)
short_cond = ta.crossunder(close,upper)

var saved_ph = 0.0
if strategy.opentrades>0 and strategy.opentrades[1]==0 and strategy.position_size > 0
    saved_ph := upper[1]
var saved_pl = 0.0
if strategy.opentrades>0 and strategy.opentrades[1]==0 and strategy.position_size < 0
    saved_pl := lower[1]

avg = strategy.position_avg_price

long_diff = saved_ph-avg
short_diff = saved_pl-avg

long_stoploss = avg - 1*long_diff
short_stoploss = avg - 1*short_diff

long_avgdown = avg - 0.5*long_diff
short_avgup = avg - 0.5*short_diff

long_profit_price = avg + 0.5*long_diff
short_profit_price = avg + 0.5*short_diff

var label _label = na
if in_period
    if long_cond and strategy.opentrades==0
        strategy.entry("Long",strategy.long)
    if long_cond and strategy.opentrades >0 and (close[1]<long_avgdown or close[2]<long_avgdown)
        strategy.entry("Long",strategy.long)

    if short_cond and strategy.opentrades==0
        strategy.entry("Short", strategy.short)
    if short_cond and strategy.opentrades>0 and (close[1]>short_avgup or close[2]>short_avgup)
        strategy.entry("Short",strategy.short)

plot(avg, style=plot.style_linebr)


plot(strategy.position_size > 0? long_profit_price: na,color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0? long_avgdown: na,color=color.yellow, style=plot.style_linebr)
plot(strategy.position_size > 0? long_stoploss: na,color=color.red, style=plot.style_linebr)

plot(strategy.position_size < 0? short_profit_price: na,color=color.green, style=plot.style_linebr)
plot(strategy.position_size < 0? short_avgup: na,color=color.yellow, style=plot.style_linebr)
plot(strategy.position_size < 0? short_stoploss: na,color=color.red, style=plot.style_linebr)

if strategy.position_size > 0
    if ta.crossover(close, middle)
        strategy.exit("Long Exit", "Long", limit=long_profit_price, stop=middle)
    else
        strategy.exit("Long Exit", "Long", limit=long_profit_price, stop=long_stoploss)
if strategy.position_size < 0
    if ta.crossunder(close, middle)
        strategy.exit("Short Exit", "Short", limit=short_profit_price, stop=middle)
    else
        strategy.exit("Short Exit", "Short", limit=short_profit_price, stop=short_stoploss)