
Strategi ini adalah strategi yang didasarkan pada EMA rata-rata dua garis yang berbeda dalam panjang. Strategi ini menggunakan dua garis EMA yang berbeda dalam panjang, untuk menentukan hubungan posisi EMA rata-rata pada periode pencatatan untuk menentukan bahwa saat ini sedang dalam tren naik, dan untuk mengirim sinyal beli pada periode pecah dengan menilai harga dan persimpangan EMA rata-rata.
Strategi ini menggunakan dua rata-rata EMA dengan 30 dan 60 periode. Rata-rata EMA adalah rata-rata bergerak yang halus, yang memberikan bobot yang lebih tinggi pada harga terbaru sehingga rata-rata EMA dapat merespon perubahan harga lebih cepat.
Ketika EMA berjangka pendek melewati EMA berjangka panjang, sinyal beli dihasilkan, yang berarti saat ini sedang dalam tren naik. Ketika harga dari bawah ke atas menerobos EMA berjangka pendek, harga akan terus berjalan ke atas dengan dukungan dari tren jangka panjang, maka beli.
Strategi ini juga menetapkan stop loss. Stop loss ditetapkan sebagai titik tertinggi dari 10 garis K terakhir untuk mengunci keuntungan maksimum. Stop loss ditetapkan sebagai rata-rata EMA jangka panjang untuk mengendalikan risiko.
Keuntungan utama dari strategi ini adalah:
Risiko utama dari strategi ini adalah:
Solusi yang sesuai:
Strategi ini bertujuan untuk mengoptimalkan beberapa hal, antara lain:
Strategi ini secara keseluruhan adalah strategi yang lebih khas berdasarkan EMA rata-rata untuk menentukan arah tren dan memberikan sinyal crossover dua baris. Ini menggunakan EMA rata-rata untuk menentukan tren besar dan crossover dua baris untuk meningkatkan akurasi sinyal. Namun, EMA rata-rata untuk terlambat menanggapi perubahan tren dan crossover dua baris yang mungkin terjadi sinyal yang salah adalah risiko utama dari 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)