
Strategi crossover dua rata-rata adalah strategi pelacakan tren klasik. Strategi ini menggunakan rata-rata bergerak dari dua periode yang berbeda untuk menangkap tren pasar, menghasilkan sinyal plus ketika melewati rata-rata lambat di atas rata-rata cepat, dan menghasilkan sinyal minus ketika melewati rata-rata lambat di bawah rata-rata cepat. Gagasan inti dari strategi ini adalah bahwa rata-rata cepat lebih sensitif terhadap perubahan harga dan lebih cepat menanggapi perubahan tren pasar, sedangkan rata-rata lambat menanggapi tren jangka panjang pasar.
Kode strategi ini menggunakan dua rata-rata bergerak, yaitu rata-rata cepat (default 14 period) dan rata-rata lambat (default 28 period). Jenis rata-rata bergerak dapat dipilih sebagai rata-rata bergerak sederhana (SMA), rata-rata bergerak indeks (EMA), rata-rata bergerak berbobot (WMA) dan rata-rata bergerak relatif (RMA).
Logika utama dari strategi ini adalah sebagai berikut:
Dengan logika seperti itu, strategi dapat melacak tren utama pasar, memegang posisi multihead dalam tren naik, memegang posisi kosong atau menunggu posisi kosong dalam tren turun. Periode dan jenis rata-rata dapat disesuaikan dan dioptimalkan sesuai dengan pasar dan varietas perdagangan yang berbeda.
Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat diambil:
Optimasi ini dapat meningkatkan fleksibilitas dan stabilitas strategi, sehingga lebih baik beradaptasi dengan kondisi pasar yang berbeda. Namun, perlu diingat bahwa terlalu banyak optimasi dapat menyebabkan strategi terlalu cocok dan tidak berkinerja baik di dunia nyata.
Strategi crossover linier ganda adalah strategi pelacakan tren klasik yang menghasilkan sinyal perdagangan melalui persilangan rata-rata bergerak dari dua periode yang berbeda. Logikanya sederhana, mudah diimplementasikan, dan cocok untuk pasar yang sedang tren. Namun, di pasar yang bergolak, mungkin terjadi situasi perdagangan yang sering terjadi dan kerugian terus menerus. Oleh karena itu, ketika menggunakan strategi ini, Anda perlu mengoptimalkan parameter siklus linier ganda sesuai dengan karakteristik pasar, dan mengatur stop loss yang masuk akal. Selain itu, Anda juga dapat meningkatkan fleksibilitas dan stabilitas strategi dengan memperkenalkan lebih banyak indikator teknis, mengoptimalkan manajemen posisi, cara menilai tren, dll.
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011
//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
float fastMA = switch fastMAType
"Simple" => ta.sma(close, fastMALength)
"Exponential" => ta.ema(close, fastMALength)
"Weighted" => ta.wma(close, fastMALength)
"Relative" => ta.rma(close, fastMALength)
plot(fastMA, color = color.aqua, linewidth = 2)
float slowMA = switch slowMAType
"Simple" => ta.sma(close, slowMALength)
"Exponential" => ta.ema(close, slowMALength)
"Weighted" => ta.wma(close, slowMALength)
"Relative" => ta.rma(close, slowMALength)
plot(slowMA, color = color.blue, linewidth = 2)
longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
strategy.entry("Short", strategy.short)
closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
strategy.close("Long", "Close")