Strategi perdagangan kuantitatif tingkat lanjut yang menggabungkan Bollinger Bands dinamis dengan indikator PSAR

BB PSAR SMA TP SL
Tanggal Pembuatan: 2025-02-18 14:11:00 Akhirnya memodifikasi: 2025-02-18 14:11:00
menyalin: 0 Jumlah klik: 355
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif tingkat lanjut yang menggabungkan Bollinger Bands dinamis dengan indikator PSAR

Ringkasan

Ini adalah strategi perdagangan komprehensif yang menggabungkan Bollinger Bands dan Parallax Line Shift Indicator (PSAR) untuk mengelola perdagangan dengan menggunakan rasio risiko / keuntungan yang tetap. Strategi ini beroperasi terutama pada saat perdagangan dalam hari, untuk mengidentifikasi peluang perdagangan melalui harga yang menerobos Bollinger Bands dan bentuk grafik yang tergores, sambil menggunakan indikator PSAR untuk konfirmasi tren. Strategi ini menggunakan pengaturan tujuan stop loss dan profit yang dinamis dan mempertahankan rasio risiko / keuntungan 1: 3.

Prinsip Strategi

Strategi menggunakan beberapa indikator teknis untuk mengkonfirmasi sinyal perdagangan:

  1. Menggunakan 20 siklus Brin band sebagai indikator utama dari kisaran harga
  2. Menggunakan indikator PSAR ((dimulai 0.02, maksimal 0.2) sebagai alat konfirmasi tren
  3. Hitung rasio entitas kabel ((panjang entitas / panjang total ≥ 0,33) untuk memastikan keandalan sinyal
  4. Melakukan transaksi dalam jendela waktu perdagangan yang ditentukan (GMT-5 7:30-16:00)
  5. Syarat masuk multihead: harga penutupan menembus tren dan rasio entitas yang kuat memenuhi persyaratan
  6. Kondisi masuk kosong: harga penutupan menembus tren bawah dan rasio entitas yang kuat memenuhi persyaratan

Keunggulan Strategis

  1. Kombinasi berbagai indikator teknis untuk meningkatkan keandalan sinyal
  2. Menggunakan rasio risiko-penghasilan tetap (RRR) 1: 3), menguntungkan keuntungan stabil jangka panjang
  3. Filter waktu untuk menghindari gangguan selama periode likuiditas rendah
  4. Filter dengan proporsi entitas aluminium untuk mengurangi penembusan palsu
  5. Menetapkan target stop loss dan profit yang dinamis untuk beradaptasi dengan perubahan pasar
  6. Strategi logis yang jelas, mudah dipahami dan dioptimalkan

Risiko Strategis

  1. Potensi penurunan di pasar yang sangat bergejolak
  2. Keuntungan dari risiko tetap dibandingkan dengan kemungkinan kehilangan sebagian peluang keuntungan
  3. Penyaringan waktu dapat melewatkan peluang pasar yang penting
  4. Beberapa indikator dapat menyebabkan kelambatan sinyal
  5. Kemungkinan kerugian berkelanjutan di pasar yang bergejolak

Arah optimasi strategi

  1. Memperkenalkan Siklus Brinks Adaptif untuk Beradaptasi dengan Perbedaan Kondisi Pasar
  2. Risiko-benefit dari pengembangan mekanisme yang dinamis
  3. Tambahkan indikator volume sebagai konfirmasi tambahan
  4. Optimalkan parameter PSAR untuk meningkatkan efek pelacakan tren
  5. Bergabung dengan filter volatilitas pasar
  6. Mengembangkan mekanisme penyaringan waktu yang lebih cerdas

Meringkaskan

Strategi ini membangun sistem perdagangan yang lengkap dengan menggunakan kombinasi Brinband, Indikator PSAR, dan analisis grafik. Keunggulan inti dari strategi ini adalah sinergi dari beberapa indikator teknis dan manajemen risiko yang ketat. Meskipun ada beberapa risiko yang melekat, strategi ini dapat meningkatkan stabilitas dan profitabilitas lebih lanjut melalui arah optimasi yang disarankan.

Kode Sumber Strategi
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Estrategia Bollinger con PSAR y TP Máximo/ Mínimo", overlay=true)

// Parámetros de las Bandas de Bollinger
bb_length = input.int(20, title="Periodo de Bandas de Bollinger", minval=1)
bb_stddev = input.float(2.0, title="Desviación Estándar", step=0.1)

// Parámetros del Parabolic SAR
psar_start = input.float(0.02, title="PSAR Factor Inicial", step=0.01)
psar_increment = input.float(0.02, title="PSAR Incremento", step=0.01)
psar_max = input.float(0.2, title="PSAR Máximo", step=0.01)

// Cálculo de Bandas de Bollinger
basis = ta.sma(close, bb_length)
upper_band = basis + bb_stddev * ta.stdev(close, bb_length)
lower_band = basis - bb_stddev * ta.stdev(close, bb_length)

// Cálculo del Parabolic SAR
psar = ta.sar(psar_start, psar_increment, psar_max)

// Cálculo del cuerpo de la vela
body_high = math.max(open, close)
body_low = math.min(open, close)
body_length = body_high - body_low
total_length = high - low
body_ratio = body_length / total_length

// Condiciones de Entrada
long_condition = close > upper_band and body_ratio >= 0.33
short_condition = close < lower_band and body_ratio >= 0.33

// Filtro de tiempo: Operar solo de 7:30 AM a 4:00 PM hora colombiana
start_time = timestamp("GMT-5", year, month, dayofmonth, 7, 30)
end_time = timestamp("GMT-5", year, month, dayofmonth, 16, 0)
time_condition = (time >= start_time) and (time <= end_time)

// Variables para mantener el TP máximo y mínimo
var float max_tp = na
var float min_tp = na
var float dynamic_stop = na

// Condiciones de Entrada y Salida
if (long_condition and time_condition)
    entry_price = close  // Precio de entrada
    stop_loss = low  // SL en el mínimo de la vela
    take_profit = entry_price + 3 * (entry_price - stop_loss)  // TP con relación 1:3
    strategy.entry("Compra", strategy.long)
    strategy.exit("Exit Compra", "Compra", stop=stop_loss, limit=take_profit)

    // Dibujar las etiquetas para SL y TP para la operación larga
    label.new(bar_index, stop_loss, text="SL: " + str.tostring(stop_loss), style=label.style_label_up, color=color.red, textcolor=color.white, size=size.small)
    label.new(bar_index, take_profit, text="TP: " + str.tostring(take_profit), style=label.style_label_down, color=color.green, textcolor=color.white, size=size.small)

if (short_condition and time_condition)
    entry_price = close  // Precio de entrada
    stop_loss = high  // SL en el máximo de la vela
    take_profit = entry_price - 3 * (stop_loss - entry_price)  // TP con relación 1:3
    strategy.entry("Venta", strategy.short)
    strategy.exit("Exit Venta", "Venta", stop=stop_loss, limit=take_profit)

    // Dibujar las etiquetas para SL y TP para la operación corta
    label.new(bar_index, stop_loss, text="SL: " + str.tostring(stop_loss), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
    label.new(bar_index, take_profit, text="TP: " + str.tostring(take_profit), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)

// Dibujar Bandas de Bollinger
plot(upper_band, color=color.red, title="Banda Superior")
plot(lower_band, color=color.green, title="Banda Inferior")
plot(basis, color=color.blue, title="Media Base")

// Dibujar Parabolic SAR
plot(psar, style=plot.style_circles, color=color.orange, title="Parabolic SAR")