Strategi Mengikuti Trend Pengetatan Purata Pergerakan Berganda


Tarikh penciptaan: 2023-12-28 17:24:53 Akhirnya diubah suai: 2023-12-28 17:24:53
Salin: 0 Bilangan klik: 626
1
fokus pada
1623
Pengikut

Strategi Mengikuti Trend Pengetatan Purata Pergerakan Berganda

Gambaran keseluruhan

Strategi Pemantauan Trend Konvergensi Rata-rata Bergerak Ganda (Dual Moving Average Convergence Trend Tracking Strategy) Mengambil kira arah trend harga dengan mengira purata bergerak cepat, purata bergerak perlahan dan purata bergerak perlahan, digabungkan dengan MACD, untuk mencapai perdagangan trend pemantauan. Lakukan lebih banyak apabila persilangan emas berlaku pada rata-rata bergerak cepat, kosongkan ketika persilangan mati.

Prinsip Strategi

Strategi ini pertama-tama mengira purata bergerak cepat 12 hari, purata bergerak perlahan 26 hari dan purata bergerak super perlahan 200 hari. Apabila purata bergerak cepat melintasi purata bergerak perlahan, ia menunjukkan permulaan pasar lembu; apabila purata bergerak cepat melintasi purata bergerak perlahan dari atas ke bawah, ia menunjukkan permulaan pasar beruang.

Strategi ini juga digabungkan dengan MACD untuk menentukan arah trend. MACD terdiri daripada garis cepat, garis lambat, dan tiang MACD. Apabila melintasi garis perlahan di atas garis cepat, ia adalah isyarat multihead, dan apabila melintasi garis perlahan di bawah ia adalah isyarat kepala kosong. Apabila digabungkan dengan isyarat long-term yang rata-rata melintasi garis palsu, isyarat kepala kosong dikeluarkan hanya apabila garis cepat melintasi garis perlahan ke atas, tiang MACD dibetulkan dengan negatif, dan harga berada di atas purata bergerak 200 hari.

Pengesahan dua kali dengan sistem garis rata perlahan dan penunjuk MACD, mengelakkan isyarat palsu yang dihasilkan oleh satu penunjuk dan memastikan hanya masuk pada permulaan trend.

Kelebihan Strategik

  1. Sistem Garis Rata-Rata Perlahan dan Indeks MACD mengesahkan dua kali, mengelakkan penembusan palsu, dan memastikan kemasukan hanya pada permulaan trend.

  2. Penapisan purata bergerak 200 hari untuk mengelakkan kesilapan perdagangan semasa kejatuhan pasaran.

  3. Terdapat tetapan Stop Loss untuk mengehadkan kerugian maksimum.

  4. Parameter yang boleh disesuaikan, seperti panjang purata bergerak, paras paras air yang terhalang, sesuai dengan pelbagai jenis.

  5. Strategi yang jelas dan mudah difahami dan dioptimumkan.

Risiko Strategik

  1. Strategi untuk menjejaki trend jangka panjang, tidak dapat menangkap peluang jangka pendek.

  2. Kesan pengesanan bergantung kepada parameter yang ditetapkan, dan parameter yang salah tidak akan menangkap trend dengan betul.

  3. Penetapan yang tidak betul dalam kedudukan stop loss mungkin terlalu longgar atau terlalu ketat, menyebabkan kerugian meningkat atau berhenti terlalu awal.

  4. Lebih banyak pegangan jangka panjang memerlukan tekanan kewangan.

Pengoptimuman Strategi

  1. Mengoptimumkan parameter panjang purata bergerak untuk mencari kombinasi parameter terbaik.

  2. Tambah petunjuk lain sebagai isyarat penilaian tambahan, seperti petunjuk KDJ dan sebagainya.

  3. Mengoptimumkan strategi hentian kerugian, seperti meminimumkan hentian kerugian, mengesan hentian kerugian, dan sebagainya.

  4. Parameter purata bergerak disesuaikan mengikut jenis dan kitaran dagangan.

  5. Indikator kuantiti penggabungan seperti kuantiti pengaliran boleh menapis isyarat palsu.

ringkaskan

Strategi pengesanan trend pengetatan dua garis sejajar adalah strategi pengesanan trend yang disyorkan dengan cara mengoptimumkan parameter, mengoptimumkan strategi penghentian kerugian, dan penunjuk tambahan.

Kod 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)