
Strategi ini menggunakan cara EMA cepat lambat garis silang, untuk melacak tren harga. Ketika garis cepat melewati garis lambat dari bawah, lakukan lebih banyak; Ketika garis cepat melewati garis lambat dari atas ke bawah, bernegosiasi. Strategi ini terutama berlaku untuk varietas dengan tren yang lebih jelas, dapat secara efektif melacak tren, untuk mendapatkan keuntungan tambahan.
Indikator utama dari strategi ini adalah rata-rata EMA. Rumus untuk menghitung rata-rata EMA adalah:
EMA(t)=C(t)×2/(n+1)+EMA(t-1)×(n-1)/(n+1)
Di mana, t adalah saat ini, C adalah harga penutupan pasar saat ini, dan n adalah nilai parameter N. Seperti itu, EMA adalah indikator teknis rata-rata bergerak dengan faktor berat. EMA memberikan bobot yang lebih tinggi pada harga terbaru, sehingga dapat bereaksi lebih cepat terhadap perubahan harga terbaru.
Strategi ini membangun EMA rata-rata cepat dan EMA rata-rata lambat, dengan garis cepat melewati garis lambat untuk sinyal beli, dan garis cepat di bawah garis lambat untuk sinyal jual. Ketika melewati garis cepat, harga mulai naik lagi; Ketika melewati garis cepat, harga berakhir dan mulai turun.
Strategi ini memiliki keuntungan sebagai berikut:
Risiko utama dari strategi ini adalah:
Untuk mengurangi risiko di atas, langkah-langkah optimasi dapat diambil sebagai berikut:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang relatif sederhana dan praktis. Strategi ini menggunakan EMA untuk menentukan tren harga rata-rata, logika operasinya jelas, dan mudah diterapkan. Keuntungan adalah penyesuaian parameter yang sederhana, yang dapat secara efektif melacak tren; Kelemahannya adalah mudah mengeluarkan sinyal palsu, kinerja sebenarnya mungkin lebih lemah dari pengukuran ulang.
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("EMA交叉策略by GPT",
format = format.inherit,
overlay = true,
default_qty_type= strategy.percent_of_equity,
default_qty_value = 100,
currency = currency.USD,
initial_capital = 1000000)
// 定義回測交易開始和結束時間的變數
start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000"))
end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000"))
// 判斷是否在回測交易時間範圍內
in_range = true
// Define input variables
fast_length = input(title="Fast EMA Length", type=input.integer, defval=5)
slow_length = input(title="Slow EMA Length", type=input.integer, defval=20)
// Define EMAs
fast_ema = ema(close, fast_length)
slow_ema = ema(close, slow_length)
// Define buy and sell signals
buy_signal = crossover(fast_ema, slow_ema)
sell_signal = crossunder(fast_ema, slow_ema)
// Buy signal
if in_range and buy_signal
strategy.entry("Buy", strategy.long, when=in_range)
// Sell signal
if in_range and sell_signal
strategy.close("Buy", when=sell_signal)