Strategi Mengikuti Tren Pengetatan Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2023-12-28 17:24:53 Akhirnya memodifikasi: 2023-12-28 17:24:53
menyalin: 0 Jumlah klik: 626
1
fokus pada
1623
Pengikut

Strategi Mengikuti Tren Pengetatan Rata-rata Pergerakan Ganda

Ringkasan

Strategi Pelacakan Tren Konvergensi Rata-rata Bergerak Ganda (Dual Moving Average Convergence Trend Tracking Strategy) Melalui Perhitungan Rata-rata Bergerak Cepat, Rata-rata Bergerak Lambat, dan Rata-rata Bergerak Super-Lambat, Dengan Menggabungkan Indikator MACD Untuk Menentukan Arah Tren Harga, Untuk Membuat Perdagangan Tren Pelacakan. Lakukan lebih banyak ketika rata-rata bergerak cepat melintasi persimpangan emas, dan kosongkan ketika persimpangan mati.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata bergerak cepat 12 hari, rata-rata bergerak lambat 26 hari, dan rata-rata bergerak super lambat 200 hari. Ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat, itu adalah persimpangan emas, yang menunjukkan awal bull market; ketika rata-rata bergerak cepat dari atas ke bawah melewati rata-rata bergerak lambat, itu adalah persimpangan kematian, yang menunjukkan awal bear market.

Pada saat yang sama, strategi ini digabungkan dengan indikator MACD untuk menentukan arah tren. MACD terdiri dari garis cepat, garis lambat, dan pilar MACD. Di atas garis cepat ada sinyal multihead saat melintasi garis lambat, dan di bawahnya ada sinyal overhead.

Dengan dua kali konfirmasi dengan sistem garis rata-rata dan MACD, menghindari sinyal palsu yang dihasilkan oleh satu indikator, dan memastikan hanya masuk pada awal tren.

Keunggulan Strategis

  1. Sistem Fast and Slow Average Line dan MACD Indicator Double Confirm, menghindari false breakout, dan memastikan hanya masuk saat trend dimulai.

  2. Filter moving average 200 hari untuk menghindari kesalahan trading pada saat bergejolak.

  3. Ada pengaturan Stop Loss untuk membatasi kerugian maksimum.

  4. Parameter yang dapat disesuaikan, seperti panjang rata-rata bergerak, stop loss water level, dapat disesuaikan dengan varietas yang berbeda.

  5. Strategi yang jelas dan sederhana, mudah dipahami dan dioptimalkan.

Risiko Strategis

  1. Strategi untuk melacak tren jangka panjang, tidak dapat menangkap peluang jangka pendek.

  2. Efek pelacakan tergantung pada parameter yang ditetapkan, parameter yang salah tidak akan dapat menangkap tren dengan benar.

  3. Posisi stop loss yang tidak tepat dapat terlalu longgar atau terlalu ketat, menyebabkan peningkatan kerugian atau stop loss prematur.

  4. Ini adalah tekanan finansial yang harus ditanggung oleh investor yang memegang lebih banyak saham dalam jangka panjang.

Optimasi Strategi

  1. Mengoptimalkan parameter panjang rata-rata bergerak untuk mencari kombinasi parameter yang optimal.

  2. Tambahkan indikator lain sebagai sinyal penilaian tambahan, seperti indikator KDJ dan sebagainya.

  3. Mengoptimalkan strategi stop loss, seperti mengurangi stop loss, melacak stop loss, dan lain-lain.

  4. Parameter rata-rata bergerak disesuaikan dengan varietas dan siklus perdagangan.

  5. Indikator penggabungan seperti volume transaksi dapat memfilter sinyal palsu.

Meringkaskan

Strategi pelacakan tren pengetatan linier ganda adalah strategi pelacakan tren yang disarankan dengan cara mengoptimalkan parameter, mengoptimalkan strategi penghentian kerugian, mengoptimalkan indikator tambahan, dan lain-lain. Strategi ini digunakan untuk menentukan arah tren dengan menghitung beberapa sistem linier dan memfilter sinyal dengan indikator MACD.

Kode Sumber Strategi
/*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)