
Strategi perdagangan lintas rata-rata bergerak dengan menghitung rata-rata bergerak dari berbagai siklus, untuk membeli atau menjual operasi ketika mereka terjadi garpu emas atau garpu mati, termasuk dalam strategi perdagangan jenis analisis teknis. Strategi ini sederhana, mudah digunakan, kurang modal, penarikan kecil, cocok untuk operasi garis panjang menengah.
Strategi ini dilakukan dengan menghitung indeks moving average (EMA) 20 dan 50 periode. Operasi pembelian dilakukan ketika 20 periode EMA melewati 50 periode EMA. Operasi penjualan dilakukan ketika 20 periode EMA melewati 50 periode EMA.
Indeks EMA adalah indeks rata-rata bergerak, yang memberikan bobot yang lebih besar pada data terbaru. Rumus perhitungan EMA adalah:
EMAtoday = (Pricetoday * k) + EMAyesterday * (1-k)
Di mana, k = 2/(jumlah siklus + 1)
Dengan demikian, ketika EMA jangka pendek di atas EMA jangka panjang, berarti harga bergerak ke arah bullish, LONG; ketika EMA jangka pendek di bawah EMA jangka panjang, berarti harga bergerak ke arah bearish, SHORT.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki risiko sebagai berikut:
Oleh karena itu, strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi perdagangan lintas rata-rata bergerak adalah strategi perdagangan teknologi yang sederhana dan efektif, mudah dipahami, diterapkan, dan diuji pasar. Dengan cara seperti pengoptimalan parameter, penambahan kondisi tambahan, risiko perdagangan dapat dikurangi lebih lanjut, dan stabilitas strategi dapat ditingkatkan. Strategi ini dapat menjadi modul dasar perdagangan kuantitatif.
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © brandlabng
//@version=5
//study(title="Holly Grail", overlay = true)
strategy('HG|E15m', overlay=true)
src = input(close, title='Source')
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(20, title='1st MA Length')
type1 = input.string('EMA', '1st MA Type', options=['EMA'])
ma2 = input(50, title='2nd MA Length')
type2 = input.string('EMA', '2nd MA Type', options=['EMA'])
price1 = if type1 == 'EMA'
ta.ema(price, ma1)
price2 = if type2 == 'EMA'
ta.ema(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2)
plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2)
longCondition = ta.crossover(price1, price2)
if longCondition
strategy.entry('Long', strategy.long)
shortCondition = ta.crossunder(price1, price2)
if shortCondition
strategy.entry('Short', strategy.short)