Sumber dimuat naik... memuat...

Multi-SMA Support Level False Breakout Strategy dengan Sistem Stop-Loss ATR

Penulis:ChaoZhang, Tarikh: 2024-11-27 16:17:17
Tag:SMAATR

img

Ringkasan

Strategi ini adalah sistem dagangan berdasarkan penentuan trend purata bergerak dan corak pecah palsu tahap sokongan. Strategi ini menggunakan purata bergerak mudah 50 tempoh dan 200 tempoh untuk menentukan trend pasaran, menggabungkan corak pecah palsu tahap sokongan untuk menjana isyarat perdagangan, dan menggunakan penunjuk ATR (Rentang Benar Purata) untuk menetapkan kedudukan stop-loss secara dinamik sambil menetapkan sasaran keuntungan pada titik pecah. Strategi ini sepenuhnya menggunakan ciri-ciri trend pasaran dan corak pergerakan harga untuk menangkap peluang keuntungan melalui kebangkitan selepas pecah palsu.

Prinsip Strategi

Logik teras strategi merangkumi elemen utama berikut:

  1. Penentuan Trend: Menggunakan kedudukan relatif purata bergerak 50-period dan 200-period untuk menentukan trend pasaran, mengesahkan trend menaik apabila purata bergerak jangka pendek di atas purata bergerak jangka panjang.
  2. Pengiraan Tahap Sokongan: Mengira tahap sokongan menggunakan formula titik pusingan, menggunakan purata tertimbang dari harga tertinggi, rendah, dan penutupan tempoh sebelumnya.
  3. Pengesahan Penembusan Palsu: Menghasilkan isyarat panjang apabila harga secara ringkas pecah di bawah sokongan semasa aliran naik dan kemudian ditutup di atasnya.
  4. Pengurusan Risiko: Menggunakan ATR 14 tempoh untuk mengira kedudukan stop-loss dinamik, memastikan berhenti yang lebih luas semasa peningkatan turun naik pasaran.
  5. Sasaran keuntungan: Mengira sasaran keuntungan menggunakan harga tertinggi 10 tempoh sebelumnya untuk memastikan potensi keuntungan yang mencukupi.

Kelebihan Strategi

  1. Trend Following: Strategi ini memastikan perdagangan dalam arah trend utama melalui sistem purata bergerak, meningkatkan kadar kemenangan.
  2. Kawalan Risiko Dinamik: Menggunakan ATR untuk menyesuaikan kedudukan stop-loss secara dinamik, menyesuaikan diri dengan persekitaran pasaran yang berbeza.
  3. Isyarat Perdagangan yang jelas: corak pecah palsu tahap sokongan mempunyai kriteria pengenalan yang jelas, mengurangkan penilaian subjektif.
  4. Nisbah Risiko-Bajaran yang Munasabah: Memastikan nisbah risiko-balasan yang baik melalui stop-loss dinamik dan sasaran keuntungan berasaskan sejarah.
  5. Operasi Sistematik: Logik strategi yang jelas, mudah dilaksanakan secara programatik dan backtest.

Risiko Strategi

  1. Risiko Isyarat Palsu: Boleh menghasilkan banyak isyarat pecah palsu di pasaran yang berbeza, meningkatkan kos dagangan.
  2. Risiko Pembalikan Trend: Sistem purata bergerak bertindak balas perlahan pada titik pembalikan trend, berpotensi menyebabkan kemasukan yang tertunda.
  3. Risiko Julat Stop-Loss: Hentian ATR boleh menyebabkan kerugian yang lebih besar apabila turun naik tiba-tiba meningkat.
  4. Risiko Penentuan Sasaran Keuntungan: Tinggi sejarah tempoh tetap mungkin tidak mencerminkan keadaan pasaran semasa dengan tepat.

Arahan Pengoptimuman Strategi

  1. Tambah Syarat Penapisan: Boleh menambah penunjuk pengesahan jumlah untuk meningkatkan kebolehpercayaan isyarat.
  2. Mengoptimumkan Parameter Purata Bergerak: Sesuaikan tempoh purata bergerak berdasarkan ciri pasaran yang berbeza untuk meningkatkan ketepatan penentuan trend.
  3. Meningkatkan Kaedah Stop-Loss: Boleh melaksanakan stop-loss komposit yang menggabungkan tahap sokongan untuk meningkatkan keberkesanan stop-loss.
  4. Sasaran Keuntungan Dinamik: Memperkenalkan kaedah pengiraan sasaran keuntungan dinamik untuk menyesuaikan diri dengan perubahan pasaran.
  5. Tambah Penapis Masa: Sertakan skrin tingkap masa perdagangan untuk mengelakkan perdagangan semasa tempoh yang tidak menguntungkan.

Ringkasan

Multi-SMA Support Level False Breakout Strategy adalah sistem perdagangan lengkap yang menggabungkan trend berikut dan corak harga. Melalui penentuan trend menggunakan sistem purata bergerak dan pengenalan corak pecah palsu tahap sokongan, ditambah dengan stop-loss dinamik ATR, ia membina strategi perdagangan yang boleh dikawal risiko. Kelebihan utama strategi ini terletak pada proses operasi yang sistematik dan kaedah pengurusan risiko yang jelas. Melalui pengoptimuman dan penambahbaikan berterusan, strategi dapat menyesuaikan diri dengan lebih baik dengan persekitaran pasaran yang berbeza dan meningkatkan hasil perdagangan.


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

//@version=5
strategy("False Break Trading Strategy", overlay=true)

// Define inputs for strategy parameters
sma50Length = input.int(50, title="SMA 50 Length")
sma200Length = input.int(200, title="SMA 200 Length")
atrLength = input.int(14, title="ATR Length")
lookbackPeriod = input.int(10, title="Swing High Lookback Period")

// Calculate SMAs
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// Calculate ATR
atr = ta.atr(atrLength)

// Check if we are in an uptrend
isUptrend = sma50 > sma200

// Calculate Pivot, Support, and Target Profit (Swing High)
pivot = (high[1] + low[1] + close[1]) / 3
support = (2 * pivot) - high[1]
swingHigh = ta.highest(high, lookbackPeriod)

// Create signals for entry
var float entryPrice = na
var float stopLoss = na
var float targetProfit = na
longCondition = isUptrend and low[1] < support and close > support

if (longCondition)
    entryPrice := open
    stopLoss := low - atr
    targetProfit := swingHigh

// Plot signals and lines on chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Plot levels for entry, stop loss, and target
plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr)
plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr)

// Backtest: Simulate exit points for the strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
    if (na(stopLoss) == false and na(targetProfit) == false)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)


Berkaitan

Lebih lanjut