Strategi pelacakan tren stop-profit dan stop-loss dinamis multi-indikator

EMA RSI ADX MACD ATR
Tanggal Pembuatan: 2025-02-20 09:37:03 Akhirnya memodifikasi: 2025-02-27 17:52:08
menyalin: 1 Jumlah klik: 382
2
fokus pada
319
Pengikut

Strategi pelacakan tren stop-profit dan stop-loss dinamis multi-indikator Strategi pelacakan tren stop-profit dan stop-loss dinamis multi-indikator

Ringkasan

Strategi ini adalah strategi multi-headed di pasar langsung yang didasarkan pada beberapa indikator teknis. Strategi ini terutama menggunakan sinyal silang dari rata-rata bergerak cepat dan lambat (EMA), yang dikombinasikan dengan indeks yang relatif kuat (RSI), rata-rata indikator tren (ADX) dan rata-rata bergerak mendekati / jauh dari indikator (MACD) untuk mengkonfirmasi sinyal perdagangan. Strategi ini juga menggunakan rata-rata amplitudo riil (ATR) untuk mengatur tingkat stop loss dan stop loss yang dinamis, untuk manajemen risiko.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada komponen-komponen kunci berikut:

  1. Menggunakan 8 siklus dan 21 siklus EMA crossover sebagai sinyal masuk utama
  2. Kekuatan tren dikonfirmasi oleh ADX> 25
  3. Menggunakan MACD Gold Fork untuk mengkonfirmasi arah tren
  4. RSI < 70 digunakan untuk menghindari masuk ke zona overbought
  5. Gunakan 1,5 kali ATR sebagai stop loss dan 2 kali untuk stop loss
  6. Memperkenalkan mekanisme tracking stop loss untuk memastikan profit lock

Keunggulan Strategis

  1. Multiple Authentication Mechanism Meningkatkan Keandalan Transaksi
  2. Stop loss dan stop loss yang dinamis disesuaikan dengan fluktuasi pasar
  3. Fungsi Tracking Stop Loss Efektif Melindungi Keuntungan yang Sudah Dihasilkan
  4. Melakukan transaksi hanya setelah K-line dikonfirmasi, mengurangi sinyal palsu
  5. Menggunakan persentase modal untuk memegang posisi, dan mengendalikan risiko dengan lebih baik
  6. Mengingat biaya transaksi, lebih sesuai dengan situasi transaksi yang sebenarnya

Risiko Strategis

  1. Beberapa indikator dapat menyebabkan kehilangan beberapa peluang perdagangan
  2. Pasar yang cepat bergoyang dapat menghasilkan sinyal palsu yang sering terjadi
  3. Terlalu banyak lompat bisa menyebabkan kerusakan.
  4. Biaya transaksi dapat mempengaruhi pengembalian strategi secara keseluruhan
  5. Strategi multi arah mungkin tidak akan berhasil di pasar beruang

Arah optimasi strategi

  1. Anda dapat mempertimbangkan untuk menambahkan filter lingkungan pasar untuk menyesuaikan parameter dalam kondisi pasar yang berbeda.
  2. Memperkenalkan indikator volume transaksi sebagai sinyal konfirmasi tambahan
  3. Optimalkan parameter EMA dan MACD agar lebih sesuai dengan periode waktu yang berbeda
  4. Meningkatkan mekanisme penghentian kerugian, pertimbangkan penghentian batch
  5. Menambahkan logika manajemen posisi untuk kontrol posisi yang lebih fleksibel

Meringkaskan

Ini adalah strategi pelacakan tren yang dirancang secara rasional, dengan penggunaan kombinasi dari beberapa indikator teknis, untuk mengejar keuntungan yang stabil sambil mengendalikan risiko. Keunggulan strategi terletak pada mekanisme pengakuan dan sistem manajemen risiko yang baik, tetapi masih memerlukan optimasi parameter dan perbaikan logis sesuai dengan situasi pasar yang sebenarnya. Untuk risiko yang ada, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut dengan menambahkan filter dan parameter optimasi lingkungan pasar.

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

//@version=6
strategy("Optimized Long-Only Strategy (Spot Market) - Candle Signals Only", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.1)

// INPUTS
fastEMA_len         = input.int(8, "Fast EMA Length", minval=1)
slowEMA_len         = input.int(21, "Slow EMA Length", minval=1)
rsiPeriod           = input.int(14, "RSI Period")
rsiOverbought       = input.int(70, "RSI Overbought Level", minval=50)
adxPeriod           = input.int(14, "ADX Period", minval=1)
adxThreshold        = input.int(25, "ADX Trend Strength Threshold", minval=1)
fastMACD            = input.int(12, "MACD Fast Length", minval=1)
slowMACD            = input.int(26, "MACD Slow Length", minval=1)
signalMACD          = input.int(9, "MACD Signal Length", minval=1)
atrPeriod           = input.int(14, "ATR Period", minval=1)
atrStopMultiplier   = input.float(1.5, "ATR Stop Loss Multiplier", step=0.1)
atrProfitMultiplier = input.float(2.0, "ATR Profit Target Multiplier", step=0.1)

// CALCULATIONS
emaFast   = ta.ema(close, fastEMA_len)
emaSlow   = ta.ema(close, slowEMA_len)
rsiValue  = ta.rsi(close, rsiPeriod)

// --- Custom ADX Calculation ---
up      = ta.change(high)
down    = -ta.change(low)
plusDM  = (up > down and up > 0) ? up : 0
minusDM = (down > up and down > 0) ? down : 0
trueRange = ta.tr(true)  // 'handle_na' parameter set to true
atrVal    = ta.rma(trueRange, adxPeriod)
plusDI    = 100 * ta.rma(plusDM, adxPeriod) / atrVal
minusDI   = 100 * ta.rma(minusDM, adxPeriod) / atrVal
dx        = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxValue  = ta.rma(dx, adxPeriod)

// MACD Calculation (MACD line, signal line, histogram)
[macdLine, signalLine, _] = ta.macd(close, fastMACD, slowMACD, signalMACD)

// ATR for stops and targets
atrValue  = ta.atr(atrPeriod)

// TRADING CONDITION (Long Only, on confirmed candle)
longCondition = ta.crossover(emaFast, emaSlow) and (adxValue > adxThreshold) and (macdLine > signalLine) and (rsiValue < rsiOverbought)

// POSITION MANAGEMENT: Execute only on confirmed candles
if barstate.isconfirmed and longCondition
    strategy.entry("Long", strategy.long)
    longStop   = close - atrStopMultiplier * atrValue
    longTarget = close + atrProfitMultiplier * atrValue
    strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTarget, trail_points=atrValue * 0.5, trail_offset=atrValue * 0.3)

// PLOTTING
plot(emaFast, color=color.green, title="Fast EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
plotshape(barstate.isconfirmed and longCondition, title="Buy Signal", style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", textcolor=color.white, size=size.tiny)