
Chiến lược này sử dụng tín hiệu chéo của chỉ số trung bình di chuyển (EMA) để nắm bắt sự thay đổi động lực của giá. Bằng cách so sánh EMA ngắn hạn và EMA dài hạn, tín hiệu mua được tạo ra khi EMA ngắn hạn vượt qua EMA dài hạn và ngược lại tạo ra tín hiệu bán. Chiến lược này giới thiệu một cơ chế xác nhận trễ của tín hiệu giao dịch để đảm bảo tín hiệu chéo được xác nhận và sau đó thực hiện giao dịch, do đó tăng độ tin cậy của tín hiệu.
Cốt lõi của chiến lược này là sử dụng EMA trong các chu kỳ khác nhau để nắm bắt sự thay đổi động lực của giá. EMA là một chỉ số theo dõi xu hướng, nhạy cảm hơn với sự thay đổi của giá. Khi EMA ngắn hạn vượt qua EMA dài, cho thấy giá có động lực tăng, tạo ra tín hiệu mua; khi EMA ngắn hạn vượt qua EMA dài, cho thấy giá có động lực giảm, tạo ra tín hiệu bán.
Chiến lược này giới thiệu một cơ chế xác nhận trễ của tín hiệu giao dịch, giá đóng cửa của dòng K sắp tạo ra tín hiệu là giá kích hoạt giao dịch, được trì hoãn cho đến khi dòng K tiếp theo được thực hiện. Điều này có thể đảm bảo tín hiệu chéo được xác nhận, tăng độ tin cậy của tín hiệu và tránh giao dịch tín hiệu giả thường xuyên.
Chiến lược này dựa trên tín hiệu giao chéo EMA và cơ chế xác nhận trễ, để nắm bắt sự thay đổi động lực của giá một cách đơn giản và hiệu quả. Lập luận chiến lược rõ ràng, dễ thực hiện và tối ưu hóa. Tuy nhiên, cũng có rủi ro như nhạy cảm với tham số, biến động thị trường và biến động xu hướng.
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © anshchaubey1373
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// Define the EMA lengths
shortEmaLength = 10
longEmaLength = 21
// Calculate the EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot the EMAs
plot(shortEma, title="10 EMA", color=color.blue)
plot(longEma, title="21 EMA", color=color.red)
// Generate buy and sell signals
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Delay the signal by one bar
longSignal = ta.valuewhen(longCondition, close, 1)
shortSignal = ta.valuewhen(shortCondition, close, 1)
// Plot buy and sell signals
plotshape(series=longCondition[1], location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition[1], location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy logic for entering positions
if (longCondition[1])
strategy.entry("Long", strategy.long)
if (shortCondition[1])
strategy.entry("Short", strategy.short)