Strategi perdagangan kuantitatif lanjutan yang menggabungkan Bollinger Band dinamik dengan penunjuk PSAR

BB PSAR SMA TP SL
Tarikh penciptaan: 2025-02-18 14:11:00 Akhirnya diubah suai: 2025-02-18 14:11:00
Salin: 0 Bilangan klik: 355
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif lanjutan yang menggabungkan Bollinger Band dinamik dengan penunjuk PSAR

Gambaran keseluruhan

Ini adalah strategi perdagangan komprehensif yang menggabungkan Brin Belt dan Parallax Line Shift Indicator (PSAR) untuk menguruskan perdagangan menggunakan nisbah risiko / keuntungan yang tetap. Strategi ini beroperasi terutamanya pada masa perdagangan dalam hari, untuk mengenal pasti peluang perdagangan melalui harga yang menembusi Brin Belt dan corak grafik, sambil menggunakan indikator PSAR untuk mengesahkan trend.

Prinsip Strategi

Strategi menggunakan pelbagai petunjuk teknikal untuk mengesahkan isyarat perdagangan:

  1. Menggunakan 20 kitaran pita Brin sebagai penunjuk utama untuk pergerakan harga
  2. Menggunakan indikator PSAR ((bermula 0.02, maksimum 0.2) sebagai alat pengesahan trend
  3. Hitung nisbah entiti kabel ((panjang entiti / panjang keseluruhan ≥ 0.33) untuk memastikan kebolehpercayaan isyarat
  4. Melakukan transaksi dalam tetingkap masa dagangan yang ditetapkan (GMT-5 7:30-16:00)
  5. Syarat kemasukan berbilang: harga penutupan menembusi trek dan nisbah entiti penyu memenuhi keperluan
  6. Syarat kemasukan kosong: harga penutupan menembusi ke bawah dan nisbah entiti penyu memenuhi keperluan

Kelebihan Strategik

  1. Menggabungkan pelbagai petunjuk teknikal untuk meningkatkan kebolehpercayaan isyarat
  2. Menggunakan nisbah ganjaran risiko tetap ((1:3), yang membantu untuk keuntungan yang stabil dalam jangka panjang
  3. Penapisan masa untuk mengelakkan gangguan semasa kelembapan rendah
  4. Penapisan nisbah entiti menggunakan titanium, mengurangkan penembusan palsu
  5. Tetapkan sasaran berhenti rugi dan keuntungan yang dinamik untuk menyesuaikan diri dengan turun naik pasaran
  6. Logik strategi jelas, mudah difahami dan dioptimumkan

Risiko Strategik

  1. Kemungkinan tergelincir dalam pasaran yang bergolak
  2. Risiko tetap berbanding keuntungan yang mungkin terlepas sebahagian daripada peluang keuntungan
  3. Penapisan masa mungkin terlepas peluang pasaran yang penting
  4. Penunjuk berbilang boleh menyebabkan ketinggalan isyarat
  5. Kemungkinan kerugian berterusan dalam pasaran yang bergolak

Arah pengoptimuman strategi

  1. Memperkenalkan kitaran Burin yang beradaptasi untuk menyesuaikan diri dengan keadaan pasaran yang berbeza
  2. Risiko dan ganjaran dalam membangunkan mekanisme yang dinamik
  3. Tambah penunjuk volum sebagai pengesahan tambahan
  4. Mengoptimumkan parameter PSAR untuk meningkatkan kesan trend
  5. Bergabung dengan penapis kadar turun naik pasaran
  6. Membangunkan mekanisme penapisan masa yang lebih pintar

ringkaskan

Strategi ini membina satu sistem perdagangan yang lengkap dengan menggunakan integrasi Brinband, indikator PSAR dan analisis grafik. Kelebihan utama strategi ini adalah sinergi pelbagai indikator teknikal dan pengurusan risiko yang ketat. Walaupun terdapat beberapa risiko yang wujud, strategi ini dapat meningkatkan kestabilan dan keuntungan dengan arah pengoptimuman yang disyorkan.

Kod 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")