
Strategi ini adalah strategi yang berdasarkan EMA rata-rata dua garis melintang trend penghakiman. Ia menggunakan dua EMA rata-rata yang berbeza panjang, pada tempoh pencatatan dengan menghakimi EMA rata-rata kedudukan hubungan menentukan kini berada dalam trend menaik, pada tempoh pecah dengan menghakimi harga dengan persimpangan EMA rata-rata untuk menghantar isyarat beli.
Strategi ini menggunakan dua garis purata EMA 30 dan 60 kitaran. Garis purata EMA adalah purata bergerak yang halus, ia memberikan berat yang lebih tinggi kepada harga terkini, supaya garis purata EMA dapat bertindak balas lebih cepat terhadap perubahan harga.
Apabila EMA jangka pendek menghasilkan isyarat beli ketika melintasi EMA jangka panjang, ia menunjukkan bahawa ia sedang dalam trend menaik. Apabila harga melintasi EMA jangka pendek dari bawah ke atas, ia akan terus berjalan ke atas dengan sokongan trend jangka panjang, maka ia membeli.
Strategi ini juga menetapkan titik hentian. Titik hentian ditetapkan sebagai titik tertinggi dalam 10 garis K yang lalu untuk mengunci keuntungan maksimum. Titik hentian ditetapkan sebagai rata-rata EMA jangka panjang untuk mengawal risiko.
Kelebihan utama strategi ini ialah:
Risiko utama strategi ini ialah:
Penyelesaian:
Kaedah utama untuk mengoptimumkan strategi ini ialah:
Strategi ini secara keseluruhan adalah strategi yang lebih tipikal berdasarkan EMA untuk menentukan arah trend dan memberi isyarat silang dua baris. Ia menggunakan EMA untuk menentukan trend besar dan silang dua baris untuk meningkatkan ketepatan isyarat. Tetapi EMA untuk menanggapi perubahan trend dan silang dua baris yang mungkin menyebabkan isyarat yang salah adalah risiko utama strategi ini.
/*backtest
start: 2023-12-23 00:00:00
end: 2024-01-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Cross Strategy", overlay=true)
// 输入设置
ema30_length = input.int(30, title="EMA 30 Length", minval=1)
ema60_length = input.int(60, title="EMA 60 Length", minval=1)
// 计算EMA
ema30 = ta.ema(close, ema30_length)
ema60 = ta.ema(close, ema60_length)
// 绘制EMA
plot(ema30, title="EMA 30", color=color.blue, linewidth=2)
plot(ema60, title="EMA 60", color=color.red, linewidth=2)
// 判断上升趋势
uptrend = close > ema30 and ema30 > ema60
// 买入条件
buy_signal = ta.crossover(close, ema30) and close[1] < ema30[1] and close[1] > ema60[1] and uptrend
// 止盈止损
take_profit_level = ta.highest(high, 10)
stop_loss_level = ema60
// 执行交易
if (buy_signal)
strategy.entry("Long", strategy.long)
strategy.exit("Exit", "Long", stop=stop_loss_level, limit=take_profit_level)