
Strategi persilangan rata-rata adalah strategi perdagangan yang didasarkan pada rata-rata bergerak. Ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak lambat sebagai sinyal beli dan jual. Ini menghasilkan sinyal beli ketika rata-rata bergerak cepat menerobos rata-rata bergerak lambat dari bawah; ini menghasilkan sinyal jual ketika rata-rata bergerak cepat jatuh dari atas dan melanggar rata-rata bergerak lambat.
Strategi ini menggunakan fungsi sma untuk menghitung rata-rata bergerak sederhana untuk periode yang ditentukan, sebagai rata-rata cepat dan rata-rata lambat. Strategi ini memiliki periode rata-rata cepat default 18 hari, yang dapat disesuaikan dengan parameter.
Ketika garis rata-rata cepat menembus garis rata-rata lambat dari arah bawah, menggunakan fungsi crossunder untuk mendeteksi sinyal silang, menghasilkan sinyal beli. Ketika garis rata-rata cepat turun dari arah atas dan menembus garis rata-rata lambat, menggunakan fungsi crossover untuk mendeteksi sinyal silang, menghasilkan sinyal jual.
Strategi ini memungkinkan perdagangan otomatis melalui sinyal trek dan sinyal keluar. Masuk multihead dipicu ketika garis rata-rata cepat dari bawah menembus garis rata-rata lambat; Masuk kosong dipicu ketika garis rata-rata cepat dari atas jatuh dari garis rata-rata lambat.
Strategi persimpangan linier secara keseluruhan adalah strategi pelacakan tren yang lebih klasik dan sederhana. Strategi ini terutama menggunakan persimpangan linier sebagai sinyal perdagangan, prinsipnya sederhana dan mudah dipahami, dapat disesuaikan dengan pasar melalui penyesuaian parameter. Tetapi ada juga beberapa kelemahan, seperti rentan terhadap efek getaran dan pergeseran tren, seringnya sinyal, dll.
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-17 04:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "MA Close Strategy", shorttitle = "MA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
MASource = input(defval = open, title = "MA Source")
MaLength = input(defval = 18, title = "MA Period", minval = 1)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(50, title = "Stop loss percentage(0.1%)")
window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false
MA = sma(MASource,MaLength)
plot(MA, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
long = crossunder(MA, close)
short = crossover(MA, close)
if (long)
strategy.entry("LongId", strategy.long, when = long)
strategy.exit("ExitLong", from_entry = "LongId", when = short)
if (short)
strategy.entry("ShortId", strategy.short, when = short)
strategy.exit("ExitShort", from_entry = "ShortId", when = long)
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)