
Chiến lược này là một chiến lược phán đoán xu hướng giao thoa hai đường dựa trên đường trung bình EMA. Nó sử dụng hai đường trung bình EMA khác nhau về chiều dài, xác định mối quan hệ vị trí của đường trung bình EMA trong giai đoạn cân bằng để xác định hiện tại đang trong xu hướng tăng, trong giai đoạn đột phá để phát ra tín hiệu mua bằng cách đánh giá giá và giao thoa đường trung bình EMA. Chiến lược này đồng thời thiết lập điểm dừng để khóa lợi nhuận và kiểm soát rủi ro.
Chiến lược này sử dụng hai đường trung bình EMA trong 30 chu kỳ và 60 chu kỳ. đường trung bình EMA là một đường trung bình di chuyển mịn, nó đặt trọng lượng cao hơn cho giá gần đây nhất để đường trung bình EMA có thể phản ứng nhanh hơn với sự thay đổi giá.
Một tín hiệu mua được tạo ra khi đường trung bình EMA ngắn hạn xuyên qua đường trung bình EMA dài hạn, cho thấy hiện tại đang trong xu hướng tăng. Khi giá vượt qua đường trung bình EMA ngắn hạn từ dưới lên, giá sẽ tiếp tục chạy lên dưới sự hỗ trợ của xu hướng dài hạn, khi đó mua.
Chiến lược này đồng thời thiết lập điểm dừng lỗ. Đặt điểm dừng là điểm cao nhất trong số 10 đường K cao nhất trong quá khứ để khóa lợi nhuận tối đa. Đặt điểm dừng là đường trung bình EMA dài hạn để kiểm soát rủi ro.
Những ưu điểm chính của chiến lược này là:
Những rủi ro chính của chiến lược này là:
Giải pháp tương ứng:
Các hướng tối ưu hóa chính của chiến lược bao gồm:
Chiến lược này nói chung là một chiến lược khá điển hình dựa trên EMA trung bình để xác định xu hướng xu hướng và phát tín hiệu qua hai đường. Nó sử dụng EMA trung bình để xác định xu hướng lớn và qua hai đường để cải thiện độ chính xác của tín hiệu. Tuy nhiên, sự chậm trễ của phản ứng của EMA trung bình đối với xu hướng đảo ngược và có thể có tín hiệu nhầm lẫn giữa hai đường là rủi ro chính của chiến lược.
/*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)