
Strategi perdagangan silang rata-rata bergerak dengan mengira purata bergerak dari pelbagai kitaran, untuk membeli atau menjual operasi apabila mereka berlaku garpu emas atau garpu mati, adalah strategi perdagangan jenis analisis teknikal. Strategi ini mudah, mudah digunakan, kurang modal, sedikit penarikan balik, sesuai untuk operasi garis panjang dan sederhana.
Strategi ini dilakukan dengan mengira purata bergerak indeks 20 dan 50 kitaran (EMA). Apabila 20 kitaran EMA melintasi 50 kitaran EMA, melakukan operasi beli. Apabila 20 kitaran EMA melintasi 50 kitaran EMA, melakukan operasi jual.
Indeks EMA adalah purata bergerak yang memberi lebih banyak berat kepada data terkini. Formula pengiraan EMA adalah:
EMAtoday = (Pricetoday * k) + EMAyesterday * (1-k)
Di mana k = 2/(bilangan kitaran + 1)
Oleh itu, apabila EMA jangka pendek di atas EMA jangka panjang, menunjukkan pergerakan harga bertukar menjadi bullish, LONG; apabila EMA jangka pendek di bawah EMA jangka panjang, menunjukkan pergerakan harga bertukar menjadi bearish, SHORT.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai risiko:
Oleh itu, strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi perdagangan silang rata-rata bergerak adalah strategi perdagangan teknologi yang mudah dan berkesan, mudah difahami, dilaksanakan, diuji oleh pasaran. Dengan cara seperti pengoptimuman parameter, penambahan syarat tambahan, risiko perdagangan dapat dikurangkan lebih jauh, dan kestabilan strategi dapat ditingkatkan. Strategi ini boleh menjadi modul asas 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)