Strategi Pelacakan Tren Dukungan dan Resistensi

Penulis:ChaoZhangTanggal: 2024-02-27 15:11:04
Tag:

img

Gambaran umum

Strategi ini menggunakan tiga indikator teknis - support, resistance dan trendline - untuk mengotomatiskan entri dan stop loss.

Logika Strategi

  1. Mengidentifikasi level support dan resistance utama.
  2. Gunakan garis tren untuk menentukan arah tren pasar. Trend naik didefinisikan ketika harga lebih tinggi dari penutupan sebelumnya, jika tidak, itu adalah downtrend.
  3. Ketika harga mendekati level support dan ada uptrend, sinyal beli dipicu.
  4. Ketika harga mendekati level resistance dan ada downtrend, sinyal jual dipicu.
  5. Target mengambil keuntungan dihitung berdasarkan rasio risiko-balasan, stop loss ditetapkan di dekat level support.
  6. Trailing stop loss dapat digunakan untuk mengunci keuntungan.

Analisis Keuntungan

  1. Menggunakan sepenuhnya kekuatan dukungan, resistensi dan tren - tiga indikator teknis yang kuat.
  2. Waktu entri otomatis menghilangkan kesalahan subjektif.
  3. Risiko yang dapat dikendalikan dengan stop loss di dekat level pendukung utama.
  4. Opsional trailing stop loss untuk menghindari mengembalikan keuntungan.

Analisis Risiko

  1. Risiko gagal breakout - harga dapat menguji kembali level support atau resistance yang rusak setelah initial breakout.
  2. Risiko penilaian yang salah tentang tren - menggunakan garis tren saja dapat menghasilkan bias tren yang tidak akurat.
  3. Stop loss yang diambil risiko - stop loss masih bisa terkena perubahan harga yang tidak menentu meskipun jarak dekat dari dukungan.

Solusi:

  1. Memungkinkan rentang yang lebih luas untuk validasi dukungan/resistensi.
  2. Gunakan beberapa indikator untuk mengkonfirmasi bias tren.
  3. Mengadopsi stop loss berbasis jangkauan atau intervensi manual yang tepat waktu.

Arahan Optimasi

  1. Tambahkan lebih banyak indikator untuk mengkonfirmasi sinyal masuk, misalnya indikator berbasis volume, rata-rata bergerak dll. Ini dapat meningkatkan akurasi.
  2. Mengoptimalkan level support, resistance dan stop loss dengan menguji parameter yang berbeda.
  3. Coba metode pembelajaran mesin untuk mengoptimalkan parameter secara otomatis.

Kesimpulan

Strategi ini menggabungkan kekuatan dari beberapa alat teknis. Dengan penyesuaian parameter yang tepat, dapat mencapai pengembalian yang disesuaikan dengan risiko yang baik. Kuncinya adalah mengoptimalkan parameter dan urutan entri. Secara keseluruhan kerangka strategi yang sehat dan memiliki banyak potensi untuk perbaikan.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support Resistance Trend Strategy", overlay=true)

// Input parameters
supportLevel = input(100, title="Support Level")
resistanceLevel = input(200, title="Resistance Level")
riskRewardRatio = input(2, title="Risk-Reward Ratio")
trailStopLoss = input(true, title="Use Trailing Stop Loss")

// Calculate trend direction based on trend lines
trendUp = close > request.security(syminfo.tickerid, "D", close[1])
trendDown = close < request.security(syminfo.tickerid, "D", close[1])

// Buy signal condition
buySignal = close < supportLevel and trendUp

// Sell signal condition
sellSignal = close > resistanceLevel and trendDown

// Entry point and exit conditions
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

// Calculate targets and stop-loss levels
targetPrice = close + (close - supportLevel) * riskRewardRatio
stopLossLevel = supportLevel

// Plot support and resistance levels
plot(supportLevel, color=color.green, linewidth=2, title="Support Level")
plot(resistanceLevel, color=color.red, linewidth=2, title="Resistance Level")

// Plot targets and stop-loss levels
plot(targetPrice, color=color.blue, linewidth=2, title="Target Price")
plot(stopLossLevel, color=color.orange, linewidth=2, title="Stop Loss Level")

// Trailing stop-loss
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=targetPrice)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=targetPrice, profit=stopLossLevel)

// Plot trail stop loss
if (trailStopLoss)
    strategy.exit("Trailing Stop Loss", from_entry="Buy", loss=stopLossLevel)
    strategy.exit("Trailing Stop Loss", from_entry="Sell", loss=stopLossLevel)


Lebih banyak