
SMK ULTRA TREND Chiến lược giao chéo hai đường trung bình là một chiến lược giao dịch định lượng tạo ra tín hiệu giao dịch dựa trên tín hiệu giao chéo của chỉ số di chuyển 5 ngày ((EMA5)) và chỉ số di chuyển 20 ngày ((EMA20). Ý tưởng cốt lõi của chiến lược này là sử dụng giao chéo của đường trung bình ngắn hạn và đường trung bình trung hạn để nắm bắt sự thay đổi của xu hướng thị trường, tạo ra tín hiệu mua khi vượt qua EMA20 trên EMA5 và tín hiệu bán khi vượt qua EMA20 dưới EMA5.
Nguyên tắc của chiến lược giao chéo hai đường đều của SMK ULTRA TREND có thể được tóm tắt thành một vài bước sau:
SMK ULTRA TREND Chiến lược giao chéo song song là một chiến lược giao dịch định lượng đơn giản, thực tế để nắm bắt xu hướng thị trường thông qua tín hiệu giao chéo của EMA5 và EMA20, đồng thời kết hợp các công cụ phụ trợ như đường hỗ trợ và đường kháng cự để cung cấp tài liệu tham khảo cho quyết định giao dịch. Ưu điểm của chiến lược là logic rõ ràng, thích ứng mạnh mẽ, dễ thực hiện và tối ưu hóa; nhược điểm là có thể xảy ra giao dịch thường xuyên và tín hiệu giả trong thị trường xung đột, cần cải thiện hiệu suất của chiến lược bằng cách lọc tín hiệu, tối ưu hóa tham số, quản lý vị trí, dừng lỗ và các phương pháp khác để tăng cường sự ổn định và khả năng lợi nhuận của chiến lược.
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMK ULTRA TREND STRATEGY", overlay=true)
// Define the length for EMAs
ema5_length = 5
ema20_length = 20
// Calculate EMAs
ema5 = ta.ema(close, ema5_length)
ema20 = ta.ema(close, ema20_length)
// Plot EMAs
plot(ema5, title="EMA 5", color=color.red )
plot(ema20, title="EMA 20", color=color.blue)
// Generate buy and sell signals
buySignal = ta.crossover(ema5, ema20)
sellSignal = ta.crossunder(ema5, ema20)
// Plot buy and sell signals
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute buy and sell orders
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("sell")
// Define support and resistance lengths
pivotLen = 5
// Calculate support and resistance levels
var float supportLevel = na
var float resistanceLevel = na
if (ta.pivotlow(low, pivotLen, pivotLen))
supportLevel := low[pivotLen]
if (ta.pivothigh(high, pivotLen, pivotLen))
resistanceLevel := high[pivotLen]
// Plot support and resistance levels
plot(supportLevel, title="Support Level", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resistanceLevel, title="Resistance Level", color=color.red, linewidth=2, style=plot.style_linebr)