Strategi stop loss dinamis multi-indikator berdasarkan konfirmasi tren

SMA MACD ADX Swing Low
Tanggal Pembuatan: 2025-02-20 11:19:58 Akhirnya memodifikasi: 2025-02-20 11:19:58
menyalin: 2 Jumlah klik: 323
2
fokus pada
319
Pengikut

Strategi stop loss dinamis multi-indikator berdasarkan konfirmasi tren Strategi stop loss dinamis multi-indikator berdasarkan konfirmasi tren

Ringkasan

Ini adalah strategi pelacakan tren yang menggabungkan beberapa indikator teknis, terutama tiga indikator yang bekerja sama melalui SMA (Simple Moving Average), MACD (Moving Average Convergence Spread Indicator) dan ADX (Average Trend Indicator), yang diperdagangkan pada tingkat garis putaran. Strategi ini menggunakan mekanisme stop loss dinamis untuk mengoptimalkan manajemen risiko dan kontrol posisi yang lebih tepat dengan mengidentifikasi titik rendah berayun (Swing Low).

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada mekanisme triple-verifikasi:

  1. Harga di atas garis rata-rata mewakili tren naik
  2. Menggunakan MACD ((9,18,9) untuk menangkap energi harga, meminta MACD line di atas garis sinyal dan menjadi positif
  3. Menggunakan ADX ((14) untuk mengkonfirmasi kekuatan tren, ADX lebih besar dari 25 menunjukkan tren cukup
  4. Jika Anda memenuhi tiga syarat di atas, Anda akan melakukan lebih banyak.
  5. Dengan mengidentifikasi titik terendah, Anda dapat mengatur stop loss yang dinamis dan menutup posisi saat harga di bawah SMA.

Keunggulan Strategis

  1. Multi-indicator cross-validation, secara signifikan mengurangi dampak dari sinyal palsu
  2. Menggunakan perdagangan pada tingkat perorangan untuk menghindari gangguan pergerakan dalam hari
  3. Mekanisme Stop Loss Dinamis, yang menyesuaikan Stop Loss dengan mengayunkan titik rendah
  4. ADX Filter Trend Lemah, Meningkatkan Kualitas Transaksi
  5. Manajemen risiko menyeluruh, termasuk perlindungan ganda untuk membalikkan tren dan menghentikan kerugian

Risiko Strategis

  1. Multiple indicator dapat menyebabkan sinyal terlambat, kehilangan kesempatan dalam pergerakan cepat
  2. Operasi di tingkat garis lingkar mungkin menghadapi penarikan besar
  3. Identifikasi titik rendah yang berayun mungkin tidak stabil dalam fluktuasi yang kuat
  4. Perlu waktu lebih lama untuk mengumpulkan data harga yang cukup
  5. Dalam pasar yang bergejolak, sinyal-sinyal palsu dapat sering muncul.

Arah optimasi strategi

  1. Dapat mempertimbangkan untuk memperkenalkan parameter indikator adaptasi, menyesuaikan dengan dinamika volatilitas pasar
  2. Meningkatkan validasi indikator volume transaksi dan meningkatkan keandalan sinyal
  3. Pengembangan Algoritma Identifikasi Swing Low yang Lebih Cerdas
  4. Menambahkan klasifikasi lingkungan pasar, menggunakan parameter yang berbeda untuk kondisi pasar yang berbeda
  5. Optimalkan Stop Loss Logika, Pertimbangkan untuk memperkenalkan Stop Loss Mobile

Meringkaskan

Strategi ini membangun sistem pelacakan tren yang solid melalui sinergi dari beberapa indikator teknis. mekanisme stop loss dinamis memberikan kontrol risiko yang baik, cocok untuk melacak tren jangka menengah dan panjang. Keuntungan utama dari strategi ini adalah keandalan sinyal yang tinggi, manajemen risiko yang sempurna, tetapi juga menghadapi tantangan seperti lag sinyal.

Kode Sumber Strategi
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Invest SMA|MACD|ADX Long Weekly Strategy (BtTL)", overlay=true)

// SMA Inputs
smaLength = input.int(30, title="SMA Länge")
// MACD Inputs
macdFastLength = input.int(9, title="MACD schnelle Periode")
macdSlowLength = input.int(18, title="MACD langsame Perside")
macdSignalLength = input.int(9, title="MACD Signal Smoothing")
//ADX Inputs
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Länge")

// SMA-Berechnung
smaValue = ta.sma(close, smaLength)
isAboveSMA = close > smaValue
isBelowSMA = close < smaValue

// MACD-Berechnung
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
isMACDBuy = macdLine > signalLine and macdLine > 0

// Swing-Low Berechnung (5-Kerzen)
isSwingLow = low[2] > low[1] and low[3] > low[1] and low[1] < low and low[1] < low[4]
var float lastSwingLow = na
var float secondLastSwingLow = na

// Wenn ein neuer Swing-Low gefunden wird
if (isSwingLow[1])
    secondLastSwingLow := lastSwingLow
    lastSwingLow := low[1]

//ADX ermitteln
[pDI,mDI,ADX] = ta.dmi(dilen, adxlen)
IsInTrend = ADX > 25

// Einstiegskondition mit MACD und SMA
longCondition = isAboveSMA and isMACDBuy and IsInTrend
if (longCondition)
    strategy.entry("Long", strategy.long)

// Ausstiegskondition am vorletzten Swing-Low
if (isBelowSMA and na(secondLastSwingLow) == false)
    strategy.exit("Exit", from_entry="Long", stop=secondLastSwingLow)

// Reset bei Position schließen
if(strategy.position_size <= 0)
    secondLastSwingLow := na
    lastSwingLow := na

// Plots
plot(smaValue, title="SMA 30", color=#063eda, linewidth=2)
plot(na(lastSwingLow) ? na : lastSwingLow, title="Last Swing Low", color=#ffb13b, linewidth=1, style=plot.style_circles)
plot(na(secondLastSwingLow) ? na : secondLastSwingLow, title="Second Last Swing Low", color=color.red, linewidth=1, style=plot.style_circles)