Strategi perdagangan frekuensi tinggi menggabungkan Bollinger Bands dan DCA


Tarikh penciptaan: 2024-03-29 16:20:13 Akhirnya diubah suai: 2024-03-29 16:20:13
Salin: 5 Bilangan klik: 828
1
fokus pada
1617
Pengikut

Strategi perdagangan frekuensi tinggi menggabungkan Bollinger Bands dan DCA

Gambaran keseluruhan

Strategi ini dikenali sebagai “DCA Booster (1 minit) ” dan merupakan strategi perdagangan frekuensi tinggi yang beroperasi pada jangka masa 1 minit. Strategi ini menggabungkan kedua-dua teknik Brin Belt dan DCA (Dollar-Cost Averaging) dengan tujuan untuk memanfaatkan turun naik pasaran untuk melakukan pembelian dan penjualan berulang untuk mendapatkan keuntungan.

Prinsip Strategi

  1. Mengira Burin Belt: Mengira Burin Belt menggunakan purata bergerak sederhana dan perbezaan piawai.
  2. Tetapkan parameter DCA: Bahagikan jumlah tetap menjadi beberapa bahagian, sebagai jumlah dana untuk setiap gudang.
  3. Syarat untuk membina kedudukan: Apabila harga penutupan dua kitaran berturut-turut di bawah tren bawah Brin, mulalah membina kedudukan. Bergantung pada apakah harga berterusan di bawah tren bawah, strategi boleh membina maksimum 5 kedudukan.
  4. Syarat penutupan: Apabila harga naik melalui Bollinger Bands, penutupan semua kedudukan.
  5. Peningkatan Piramid: Jika harga terus turun, strategi akan terus meningkat, sehingga 5 kedudukan.
  6. Pengurusan kedudukan: Strategi akan merekodkan kedudukan setiap kedudukan, dan melunaskan kedudukan yang sesuai apabila syarat kedudukan kosong dipenuhi.

Kelebihan Strategik

  1. Gabungan kedua-dua teknologi, Brin Belt dan DCA, dapat menangkap turun naik pasaran dengan berkesan dan mengurangkan kos pembelian.
  2. Ia membolehkan piramid untuk membuat pertaruhan, yang membolehkan mereka terus membuat pertaruhan apabila harga terus turun, meningkatkan peluang untuk mendapatkan keuntungan.
  3. Syarat-syarat untuk meletakkan saham adalah mudah dan jelas, dan ia membolehkan anda mendapatkan keuntungan dengan cepat.
  4. Sesuai untuk digunakan pada jangka masa pendek seperti 1 minit, boleh digunakan untuk perdagangan frekuensi tinggi.

Risiko Strategik

  1. Jika pasaran bergolak dengan kuat, harga boleh menembusi Bollinger Bands dengan cepat, dan ia boleh menyebabkan strategi itu tidak dapat mencapai kedudukan rata, yang menyebabkan kerugian.
  2. Peningkatan harga piramid boleh menyebabkan pendedahan yang berlebihan dan meningkatkan risiko jika harga terus menurun.
  3. Strategi ini mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak, kerana pembelian dan penjualan yang kerap boleh menyebabkan kos dagangan yang lebih tinggi.

Arah pengoptimuman strategi

  1. Anda boleh mempertimbangkan untuk menambah stop loss dalam keadaan kedudukan kosong untuk mengawal kerugian maksimum dalam satu dagangan.
  2. Logik penambahan simpanan piramid boleh dioptimumkan, contohnya dengan menyesuaikan jumlah penambahan simpanan mengikut kadar penurunan harga, untuk mengelakkan pendedahan berlebihan.
  3. Ia boleh digabungkan dengan petunjuk lain seperti RSI, MACD dan lain-lain untuk meningkatkan ketepatan masuk dan keluar.
  4. Parameter boleh dioptimumkan, seperti kitaran Brin dan perkalian perbezaan piawai, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

ringkaskan

“DCA Booster (1 minit) ” adalah strategi perdagangan frekuensi tinggi yang menggabungkan Bollinger Bands dan DCA, untuk menangkap turun naik pasaran dan berusaha untuk mendapatkan keuntungan dengan meletakkan posisi secara berturut-turut apabila harga berada di bawah Bollinger Bands dan membuka posisi ketika harga berada di Bollinger Bands. Strategi ini membenarkan kenaikan harga piramida, tetapi juga menghadapi risiko turun naik dan pendedahan berlebihan di pasaran.

Kod sumber strategi
/*backtest
start: 2024-02-27 00:00:00
end: 2024-03-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DCA Booster (1 minute)",
  overlay=true )

// Parameters for Bollinger Bands
length = input.int(50, title="BB Length")
mult = input.float(3.0, title="BB Mult")

// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// Variables for DCA
cantidad_dolares = 50000
orden1 = cantidad_dolares / close
orden2 = orden1 * 1.2
orden3 = orden2 * 1.3
orden4 = orden3 * 1.5
orden5 = orden4 * 1.5

// Variables for tracking purchases
var comprado1 = false
var comprado2 = false
var comprado3 = false
var comprado4 = false
var comprado5 = false

// Buy conditions
condicion_compra1 = close < lower and close[1] < lower[1] and not comprado1
condicion_compra2 = close < lower and close[1] < lower[1] and comprado1 and not comprado2
condicion_compra3 = close < lower and close[1] < lower[1] and comprado2 and not comprado3
condicion_compra4 = close < lower and close[1] < lower[1] and comprado3 and not comprado4
condicion_compra5 = close < lower and close[1] < lower[1] and comprado4 and not comprado5
// Variables de control
var int consecutive_closes_below_lower = 0
var int consecutive_closes_above_upper = 0

// Entry logic
if condicion_compra1 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra1", strategy.long, qty=orden1)
        comprado1 := true
        consecutive_closes_below_lower := 0

if condicion_compra2 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra2", strategy.long, qty=orden2)
        comprado2 := true
        consecutive_closes_below_lower := 0

if condicion_compra3 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra3", strategy.long, qty=orden3)
        comprado3 := true
        consecutive_closes_below_lower := 0

if condicion_compra4 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra4", strategy.long, qty=orden4)
        comprado4 := true
        consecutive_closes_below_lower := 0

if condicion_compra5 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra5", strategy.long, qty=orden5)
        comprado5 := true
        consecutive_closes_below_lower := 0


// Sell conditions
if close > upper  and comprado1 and barstate.isconfirmed
    strategy.close("Compra1")
    comprado1 := false

if close > upper  and comprado2 and barstate.isconfirmed
    strategy.close("Compra2")
    comprado2 := false

if close > upper  and comprado3 and barstate.isconfirmed
    strategy.close("Compra3")
    comprado3 := false

if close > upper and comprado4 and barstate.isconfirmed
    strategy.close("Compra4")
    comprado4 := false

if close > upper and comprado5 and barstate.isconfirmed
    strategy.close("Compra5")
    comprado5 := false