Strategi perdagangan crossover rata-rata bergerak menghasilkan sinyal beli dan jual ketika rata-rata bergerak jangka pendek dan jangka panjang bersilang. Ini termasuk dalam strategi perdagangan berbasis analisis teknis. Strategi ini sederhana, efisien modal dengan penarikan yang lebih kecil, cocok untuk perdagangan jangka menengah dan panjang.
Strategi ini menghitung 20 dan 50 periode Eksponensial Moving Average (EMA). Ini memicu posisi panjang ketika 20 EMA melintasi atas 50 EMA. Ini memicu posisi pendek ketika 20 EMA melintasi di bawah 50 EMA.
EMA memberikan lebih banyak bobot pada data terbaru.
EMA hari ini = (Harga hari ini * k) + EMAkemarin * (1-k)
Di mana k = 2/(jumlah periode + 1)
Ketika EMA jangka pendek melintasi EMA jangka panjang, ini menunjukkan pergerakan harga bullish ke LONG. Ketika melintasi di bawah, ini menunjukkan pembalikan harga bearish ke SHORT.
Keuntungan dari strategi ini:
Risiko termasuk:
Peningkatan:
Strategi crossover rata-rata bergerak adalah strategi teknis yang sederhana namun efektif yang terbukti oleh pasar. Perbaikan lebih lanjut pada pengendalian risiko dan ketahanan dapat dicapai dengan penyesuaian parameter, penambahan filter, dll. Ini berfungsi sebagai blok bangunan mendasar untuk 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)