Sumber daya yang dimuat... Pemuatan...

Sistem Trend Breakout Sejarah dengan Filter Rata-rata Bergerak (HBTS)

Penulis:ChaoZhang, Tanggal: 2024-12-05 14:40:05
Tag:MASMAEMAWMAVWMA

img

Gambaran umum

Strategi ini adalah sistem trend following berdasarkan retak harga historis dan filter rata-rata bergerak. Strategi ini menggabungkan sinyal retak harga multi-periode dengan rata-rata bergerak untuk mengidentifikasi tren pasar, menggunakan aturan masuk dan keluar yang ketat untuk menangkap pergerakan pasar jangka menengah hingga panjang. Strategi ini menggunakan retak harga 55 hari untuk sinyal panjang, retak harga 20 hari untuk keluar, dan menggabungkan rata-rata bergerak 200 hari sebagai filter tren untuk secara efektif mengurangi risiko retak palsu.

Prinsip Strategi

Logika inti dibangun pada harga pecah dan tren berikut.

  1. Sinyal Masuk: Sistem menghasilkan sinyal panjang ketika harga mencapai level tertinggi 55 hari dan ditutup di atas rata-rata pergerakan 200 hari
  2. Sinyal Keluar: Sistem menutup posisi ketika harga pecah di bawah level terendah 20 hari
  3. Trend Filter: Menggunakan rata-rata bergerak 200 hari sebagai indikator tren utama, hanya memasukkan long di atas rata-rata
  4. Manajemen Posisi: Menggunakan 10% dari ekuitas akun untuk setiap perdagangan
  5. Opsi moving average: Mendukung SMA, EMA, WMA, VWMA, memungkinkan fleksibilitas berdasarkan karakteristik pasar

Keuntungan Strategi

  1. Logika yang jelas: Strategi menggunakan indikator price breakout klasik dan moving average, mudah dimengerti dan dilaksanakan
  2. Kontrol Risiko yang Kuat: Memiliki kondisi stop loss yang jelas, mengelola risiko melalui filter rata-rata bergerak dan kontrol posisi
  3. Adaptabilitas tinggi: Dapat disesuaikan melalui parameter untuk menyesuaikan lingkungan pasar yang berbeda
  4. Strong Trend Capturing: Menggunakan beberapa periode harga untuk mengkonfirmasi arah tren
  5. Otomatisasi Tinggi: Aturan strategi yang jelas memfasilitasi implementasi program

Risiko Strategi

  1. Risiko pasar berbelit-belit: rentan terhadap pembebasan palsu selama fase konsolidasi
  2. Risiko slippage: Mungkin mengalami slippage yang signifikan di pasar yang kurang likuid
  3. Risiko Pembalikan Tren: Potensi untuk penarikan besar di dekat titik perubahan tren utama
  4. Sensitivitas Parameter: Parameter optimal dapat bervariasi secara signifikan di lingkungan pasar yang berbeda
  5. Risiko Pengelolaan Uang: Posisi proporsi tetap mungkin terlalu berisiko dalam situasi tertentu

Arahan Optimasi

  1. Konfirmasi sinyal: Dapat menambahkan volume breakout dan indikator tambahan lainnya untuk menyaring breakout palsu
  2. Standar Stop Loss Dinamis: Menggabungkan ATR dan indikator volatilitas lainnya untuk stop loss dinamis
  3. Manajemen Posisi: Sesuaikan ukuran posisi secara dinamis berdasarkan volatilitas pasar
  4. Analisis Multi-Timeframe: Tambahkan analisis lebih banyak waktu untuk meningkatkan keandalan sinyal
  5. Pengakuan Lingkungan Pasar: Tambahkan indikator kekuatan tren untuk menilai kondisi pasar saat ini

Ringkasan

Ini adalah sistem strategis yang menggabungkan aturan perdagangan kura-kura klasik dengan alat analisis teknis modern. Ini menangkap tren melalui price breakout, mengkonfirmasi arah menggunakan moving average, dan mengendalikan risiko dengan manajemen posisi yang wajar. Logika strategi jelas, praktis, dan memiliki skalabilitas yang baik. Meskipun mungkin berkinerja buruk di pasar yang bergolak, melalui optimasi parameter yang tepat dan pengendalian risiko, itu masih dapat mencapai pengembalian yang stabil di pasar tren. Pedagang disarankan untuk menyesuaikan parameter berdasarkan karakteristik pasar tertentu dan membangun sistem manajemen uang yang komprehensif ketika menerapkan perdagangan langsung.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")


Berkaitan

Lebih banyak