Golden Cross Dead Cross Dual Moving Average Strategi Pelacakan Tren MACD

Penulis:ChaoZhang, Tanggal: 2023-12-22 14:17:34
Tag:

img

Gambaran umum

Strategi ini menilai tren harga melalui perhitungan rata-rata bergerak cepat, rata-rata bergerak lambat, dan indikator MACD, dan membangun sinyal perdagangan salib emas dan salib mati.

Logika Strategi

Strategi ini terutama dibangun berdasarkan tiga indikator.

Pertama, ia menghitung rata-rata bergerak cepat dan dua rata-rata bergerak lambat. Ketika MA cepat naik di atas dua MA lambat, sinyal beli dihasilkan. Ketika MA cepat turun di bawah dua MA lambat, sinyal jual dihasilkan. Ini menilai hubungan antara tren jangka pendek dan jangka panjang untuk mewujudkan perdagangan salib emas dan salib mati.

Kedua, ini menghitung indikator MACD, termasuk garis MACD, garis sinyal dan histogram. Ketika histogram MACD > 0, itu adalah indikator bullish; ketika histogram MACD < 0, itu adalah indikator bearish. Ini membantu menilai keandalan sinyal golden cross dan dead cross.

Akhirnya, ia menggabungkan mekanisme mengambil keuntungan, stop loss dan trailing stop loss. mengambil keuntungan dan stop loss titik digunakan untuk mengunci dalam keuntungan dan mengendalikan risiko; trailing stop loss digunakan untuk terus melacak keuntungan.

Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Golden cross, dead cross dikombinasikan dengan MACD dapat dipercaya menilai tren harga.
  2. Stop loss point mencegah kerugian yang lebih besar.
  3. Trailing stop loss bergerak secara otomatis untuk mengunci keuntungan secara terus menerus dan memaksimalkan keuntungan tren.
  4. Pengaturan parameter yang fleksibel seperti periode rata-rata bergerak yang disesuaikan.

Risiko

Ada juga beberapa risiko:

  1. Kejutan harga dapat memicu titik stop loss.
  2. Pelaksanaan jangka panjang dari trailing stop loss membutuhkan pemantauan terus menerus dan penyesuaian yang tepat waktu.
  3. Pengaturan parameter yang tidak benar dapat menyebabkan overtrading atau hilangnya perdagangan.

Solusinya adalah:

  1. Atur titik stop loss yang tepat untuk mencegah stop loss yang tidak perlu.
  2. Periksa dan optimalkan pengaturan parameter secara teratur.
  3. Intervensi manual dan monitoring status.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dari aspek berikut:

  1. Tambahkan lebih banyak indikator seperti RSI untuk membuat sinyal lebih andal.
  2. Mengoptimalkan parameter rata-rata bergerak agar sesuai dengan instrumen perdagangan yang berbeda.
  3. Tambahkan algoritma stop trailing dinamis untuk membuat titik berhenti berubah dengan pasar.
  4. Tambahkan ukuran posisi dan modul manajemen risiko.

Ringkasan

Singkatnya, ini adalah strategi yang sederhana namun efektif yang menggunakan golden cross, dead cross dan MACD untuk menilai tren dan mewujudkan trailing stop loss. Keuntungannya adalah pelacakan tren dan penguncian keuntungan dengan kustomisasi tinggi. Ini adalah strategi optimasi parameter universal yang cocok untuk instrumen perdagangan yang berbeda. Masih ada beberapa risiko dan ruang optimasi, tetapi secara keseluruhan ini adalah strategi perdagangan yang dapat diandalkan dan praktis.


/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy('The Puria Method', shorttitle = 'Puria',overlay = true)

//=== GENERAL INPUTS ===

// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 5, title = "Fast MA Period", minval = 1)

// long ma 1
maSlow1Source   = input(defval = low, title = "Slow MA1 Source")
maSlow1Length   = input(defval = 85, title = "Slow MA Period", minval = 1)

// long ma 2
maSlow2Source   = input(defval = low, title = "Slow MA2 Source")
maSlow2Length   = input(defval = 75, title = "Slow MA Period", minval = 1)

//macd
macdFastLength   = input(defval = 12, title = "Fast MACD Period", minval = 1)
macdSlowLength   = input(defval = 26, title = "Slow MACD Period", minval = 1)
macdSmaLength   = input(defval = 9, title = "SMA MACD Period", minval = 1)

// the risk management inputs
inpTakeProfit   = input(defval = 30, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 10, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 5, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

// === SERIES SETUP ===
maFast = ema(maFastSource, maFastLength)
maSlow1 = wma(maSlow1Source, maSlow1Length)
maSlow2 = wma(maSlow2Source, maSlow2Length)
[_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength)

// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50)
slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50)

// === LOGIC ===
signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0
signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0

// ===STRATEGY===
strategy.entry(id = "Long", long = true, when = signalUp) 
strategy.entry(id = "Short", long = false, when = signalDown)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

Lebih banyak