Strategi Pelacakan Tren Konvergensi Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2023-12-28 17:24:53
Tag:

img

Gambaran umum

Strategi Pelacakan Tren Konvergensi Rata-rata Bergerak Ganda menghitung garis rata-rata bergerak cepat, lambat dan superlambat, dikombinasikan dengan indikator MACD untuk menentukan arah tren harga dan menerapkan transaksi pelacakan tren.

Prinsip

Strategi ini pertama-tama menghitung rata-rata bergerak cepat 12 hari, rata-rata bergerak lambat 26 hari, dan rata-rata bergerak superlambat 200 hari. Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat, golden cross terjadi, yang menunjukkan pasar bull. Ketika cepat melintasi di bawah lambat, cross mati terjadi, yang menunjukkan pasar bear. Strategi pergi panjang pada salib emas dan pergi pendek pada salib mati.

Strategi ini juga menggunakan indikator MACD untuk menentukan arah tren. MACD terdiri dari garis cepat, garis lambat dan bar MACD. Ketika garis cepat melintasi di atas garis lambat, itu adalah sinyal bullish dan ketika melintasi di bawahnya itu adalah bearish. Dikombinasikan dengan rata-rata bergerak jangka panjang untuk menyaring sinyal palsu, hanya ketika garis cepat memecahkan garis lambat, bar MACD berubah dari negatif menjadi positif, dan harga berdiri di atas 200 hari MA, sinyal panjang memicu. Hanya ketika garis cepat memecahkan garis lambat, bar MACD berubah dari positif menjadi negatif dan harga turun di bawah 200 hari MA, sinyal pendek memicu.

Dengan konfirmasi ganda dari sistem moving average dan indikator MACD, pemutusan palsu dapat dihindari dan memastikan masuk pada awal tren.

Keuntungan

  1. Konfirmasi ganda menghindari pemutusan palsu, memastikan masuk pada awal tren.

  2. MA 200 hari menyaring perdagangan yang salah selama fluktuasi pasar.

  3. Stop loss diatur untuk membatasi kerugian maksimum.

  4. Parameter yang dapat disesuaikan seperti panjang MA, tingkat stop loss, dll untuk menyesuaikan dengan produk yang berbeda.

  5. Logika yang sederhana dan jelas, mudah dimengerti dan dioptimalkan.

Risiko

  1. Pelacakan tren jangka panjang tidak mampu menangkap peluang jangka pendek.

  2. Efek pelacakan tergantung pada pengaturan parameter. parameter yang salah gagal menangkap tren.

  3. Pengaturan stop loss yang tidak tepat mungkin terlalu longgar atau terlalu ketat, memperbesar kerugian atau menghentikan terlalu dini.

  4. Periode kepemilikan yang panjang menyebabkan tekanan modal tertentu.

Optimalisasi

  1. Mengoptimalkan panjang parameter MA untuk kombinasi parameter terbaik.

  2. Tambahkan indikator lain seperti KDJ untuk penilaian tambahan.

  3. Mengoptimalkan strategi stop loss seperti tighten stop, trailing stop dll.

  4. Sesuaikan parameter MA berdasarkan produk dan kerangka waktu.

  5. Tambahkan filter volume untuk menghindari sinyal palsu.

Kesimpulan

Dual MA Convergence Trend Tracking Strategy menilai arah tren dengan menghitung beberapa sistem MA dan menggunakan filter MACD. Keuntungannya adalah logika yang sederhana dan jelas, risiko yang dapat dikendalikan, cocok untuk pelacakan tren. Ini dapat ditingkatkan dengan pengoptimalan parameter, pengoptimalan stop loss, menambahkan indikator tambahan dll. Strategi pelacakan tren yang disarankan.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Trend Strategy", shorttitle="TSTrend Strategy", overlay=true)


// Trend Strategy
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.


// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")

// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)

// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)

// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA

if (cancelLong)
    strategy.cancel("MACDLE")

if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA 
    strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")

if (cancelShort)
    strategy.cancel("MACDSE")

if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA 
    strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")

// maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih banyak