
Chiến lược này kết hợp các tín hiệu giao pha với đường trung bình động hàm mũ nhiều giai đoạn để nắm bắt cơ hội mua và bán trên thị trường bằng cách làm mịn sự giao nhau của bộ dao động và xu hướng EMA. Chiến lược này sử dụng sự giao thoa của Giai đoạn dẫn đầu và Giai đoạn trễ để tạo ra các tín hiệu giao dịch và kết hợp các đường trung bình động hàm mũ 13, 26, 50, 100 và 200 kỳ để xác nhận xu hướng thị trường, cung cấp giải pháp giao dịch ngắn hạn và theo dõi xu hướng toàn diện.
Logic cốt lõi của chiến lược này bao gồm hai phần chính: hệ thống giao pha và hệ thống xác nhận xu hướng EMA. Hệ thống giao pha sử dụng đường trung bình động đơn giản (SMA) có độ lệch hướng lên làm pha dẫn đầu và đường trung bình động hàm mũ (EMA) có độ lệch hướng xuống làm pha trễ. Tín hiệu mua được tạo ra khi pha dẫn đầu vượt lên trên pha trễ và tín hiệu bán được tạo ra khi pha này vượt lên dưới. Hệ thống xác nhận xu hướng EMA sử dụng đường trung bình động hàm mũ đa kỳ (13/26/50/100/200) để xác nhận xu hướng chung của thị trường, với sự giao nhau của EMA 13 kỳ và EMA 26 kỳ đóng vai trò là tín hiệu giao dịch thứ cấp.
Chiến lược này kết hợp giao điểm pha với hệ thống EMA đa giai đoạn để tạo ra hệ thống giao dịch theo xu hướng toàn diện. Chiến lược này có ưu điểm là cung cấp tín hiệu rõ ràng, nắm bắt xu hướng chính xác và kiểm soát rủi ro hợp lý, nhưng cũng có độ trễ và rủi ro tín hiệu sai nhất định. Bằng cách bổ sung các biện pháp tối ưu hóa như lọc biến động và xác nhận khối lượng, tính ổn định và độ tin cậy của chiến lược có thể được cải thiện hơn nữa. Chiến lược này phù hợp để sử dụng trong các thị trường có xu hướng rõ ràng và các nhà giao dịch cần điều chỉnh các thông số dựa trên đặc điểm thị trường cụ thể và sở thích rủi ro cá nhân.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Phase Cross Strategy with Zone", overlay=true)
// Inputs
length = input.int(20, title="Smoothing Length")
source = input(close, title="Source")
offset = input.float(0.5, title="Offset Amount", minval=0.0) // Offset for spacing
// Simulating "Phases" with Smoothed Oscillators
lead_phase = ta.sma(source, length) + offset // Leading phase with offset
lag_phase = ta.ema(source, length) - offset // Lagging phase with offset
// Signal Logic
buySignal = ta.crossover(lead_phase, lag_phase)
sellSignal = ta.crossunder(lead_phase, lag_phase)
// Plot Phases (as `plot` objects for `fill`)
lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1)
lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1)
// Fill Zone Between Phases
fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90)
fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone")
// Plot Buy and Sell Signals
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small)
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small)
// Strategy Entry and Exit
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.close("Buy")
//indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true)
// Define the EMAs
ema13 = ta.ema(close, 13)
ema26 = ta.ema(close, 26)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)
// Plot the EMAs
plot(ema13, color=color.blue, linewidth=2, title="EMA 13")
plot(ema26, color=color.red, linewidth=2, title="EMA 26")
plot(ema50, color=color.orange, linewidth=2, title="EMA 50")
plot(ema100, color=color.green, linewidth=2, title="EMA 100")
plot(ema200, color=color.purple, linewidth=2, title="EMA 200")
// Crossover conditions
uptrend = ta.crossover(ema13, ema26) // EMA 13 crosses above EMA 26 (buy)
downtrend = ta.crossunder(ema13, ema26) // EMA 13 crosses below EMA 26 (sell)
// Plot buy/sell arrows
plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")