Strategi mengikuti tren berdasarkan indikator EMA ganda dan AC


Tanggal Pembuatan: 2024-01-15 12:02:54 Akhirnya memodifikasi: 2024-01-15 12:02:54
menyalin: 3 Jumlah klik: 597
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan indikator EMA ganda dan AC

Ringkasan

Strategi ini dirancang berdasarkan indikator EMA ganda dan indikator AC akselerasi osilasi. Di antaranya, indikator EMA ganda digunakan untuk menentukan arah tren harga, sedangkan indikator AC digunakan untuk mengkonfirmasi sinyal tren, untuk mencapai efek penyaringan. Strategi ini menggabungkan dua fungsi utama pelacakan tren dan penyaringan sinyal, yang bertujuan untuk meningkatkan kualitas sinyal, untuk mendapatkan keuntungan dalam tren.

Prinsip Strategi

Strategi ini terdiri dari dua modul:

  1. Modul EMA ganda

    • Dengan menggunakan 2 hari EMA dan 20 hari EMA membangun indikator EMA ganda. Ketika harga melewati 2 hari EMA dianggap sebagai sinyal beli; Ketika harga melewati 20 hari EMA dianggap sebagai sinyal jual.

    • Modul ini menilai arah tren harga dalam jangka pendek dan menengah, untuk melakukan pelacakan tren dasar.

  2. Modul AC

    • Untuk mengkonfirmasi sinyal tren, gunakan nilai positif-negatif dari indikator AC Accelerated Oscillation. Sinyal perdagangan dihasilkan hanya jika kedua indikator EMA dan AC berada di arah yang sama.

    • Modul ini meningkatkan keandalan sinyal dengan memfilter sinyal palsu.

Secara keseluruhan, strategi ini mengintegrasikan dua EMA untuk menilai tren besar, dan penyaringan AC untuk penembusan palsu, membentuk sistem pelacakan tren yang sistematis.

Analisis Keunggulan Strategi

Strategi ini memiliki keuntungan sebagai berikut:

  1. EMA ganda mengikuti tren garis tengah, AC menghilangkan kebisingan jangka pendek, dan kombinasi bekerja dengan baik.

  2. Sinyal penyaringan yang efektif, dapat menghindari banyak kepala keuntungan setelah buta mengosongkan, atau kosong kepala keuntungan setelah buta melakukan lebih banyak situasi.

  3. Parameter penyesuaian fleksibel, dapat bekerja sama dengan berbagai varietas dan lingkungan pasar penyesuaian parameter, luas berlaku.

  4. Strategi yang jelas dan mudah dipahami, memudahkan trader untuk mengukur, mengoptimalkan, dan memperbaiki.

  5. Di antara varietas yang sedang tren, Anda bisa mendapatkan keuntungan dengan mengikuti mereka.

Analisis Risiko Strategi

Strategi ini juga memiliki beberapa risiko:

  1. Setting parameter EMA ganda yang tidak tepat dapat melewatkan tren yang lebih pendek atau menghasilkan kelebihan perdagangan.

  2. AC parameter yang tidak tepat dapat menyaring sinyal yang lebih lemah atau tidak dapat menyaring kebisingan yang cukup.

  3. Tidak mampu menghadapi pasar yang berubah dengan cepat, seperti penurunan tajam.

  4. Tidak bisa mendapatkan keuntungan yang cukup di pasar yang bergejolak, dan harus digunakan sebagai strategi untuk melacak tren.

Arah optimasi strategi

Kebijakan ini dapat dioptimalkan dari dimensi berikut:

  1. Uji lebih banyak kombinasi parameter untuk menemukan parameter optimal yang lebih cocok dengan karakteristik varietas yang berbeda.

  2. Tambahkan modul stop loss, stop loss keluar ketika kerugian terlalu besar.

  3. Optimalkan filter sinyal dengan lebih banyak indikator.

  4. Mengembangkan strategi kombinasi garis panjang pendek, melacak garis panjang tengah dalam tren, menggunakan perdagangan yang ditargetkan pada garis pendek untuk mengurangi posisi dan menambah posisi garis panjang.

Meringkaskan

Strategi ini menggabungkan dua EMA penilaian tren dan AC bising pemikiran yang layak belajar. Keuntungan dari strategi ini adalah kualitas sinyal yang baik, reliabilitas yang tinggi, cocok untuk mengikuti varietas tipe tren. Jika parameter disesuaikan sesuai, dalam situasi tren dapat memperoleh keuntungan yang kaya.

Kode Sumber Strategi
/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/01/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Accelerator Oscillator has been developed by Bill Williams 
// as the development of the Awesome Oscillator. It represents the 
// difference between the Awesome Oscillator and the 5-period moving 
// average, and as such it shows the speed of change of the Awesome 
// Oscillator, which can be useful to find trend reversals before the 
// Awesome Oscillator does.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

AC(nLengthSlow,nLengthFast) =>
    pos = 0.0
    xSMA1_hl2 = ta.sma(hl2, nLengthFast)
    xSMA2_hl2 = ta.sma(hl2, nLengthSlow)
    xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
    xSMA_hl2 = ta.sma(xSMA1_SMA2, nLengthFast)
    nRes =  xSMA1_SMA2 - xSMA_hl2
    cClr = nRes > nRes[1] ? color.blue : color.red
    iff_1 = nRes > 0 ? 1 : nz(pos[1], 0)
    pos := nRes < 0 ? -1 : iff_1           
    pos

strategy(title='Combo 2/20 EMA & Accelerator Oscillator (AC)', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Accelerator Oscillator  ═════●'
nLengthSlow = input(33,  title="Length Slow", group=I2)
nLengthFast = input(6, title="Length Fast", group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)

StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAC = AC(nLengthSlow,nLengthFast)
iff_1 = posEMA20 == -1 and prePosAC == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAC == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)