
Chiến lược moving average chỉ số theo dõi quỹ đạo là một chiến lược giao dịch định lượng dựa trên xu hướng, sử dụng moving average chỉ số ((EMA) trong các chu kỳ khác nhau để xác định tín hiệu ra thị trường tiềm năng và ra thị trường. Bằng cách theo dõi sự giao thoa giữa các EMA khác nhau, cơ hội quay trở lại thị trường và cơ hội ra thị trường có xu hướng có thể được phát hiện để tối đa hóa lợi nhuận tiềm năng, đồng thời kiểm soát rủi ro.
Chiến lược này sử dụng 4 EMA khác nhau theo chu kỳ, 8 chu kỳ, 12 chu kỳ, 24 chu kỳ và 72 chu kỳ EMA. Chúng đóng vai trò chỉ định hướng xu hướng trên biểu đồ.
Tín hiệu vào thị trườngCó hai loại:
Tín hiệu xuất phátCó ba loại:
Ưu điểm lớn nhất của chiến lược này là có thể nắm bắt cả hai cơ hội điều chỉnh và xu hướng vào thị trường. Sử dụng kết hợp đường nhanh và đường chậm, tránh bị đánh giá sai lầm bởi biến động ngắn hạn. EMA cũng có thể loại bỏ hiệu quả tiếng ồn của biến động bất thường của giá, nắm bắt xu hướng dài hạn. Nói chung, chiến lược này có những lợi thế sau:
Chiến lược này cũng có một số rủi ro cần tránh:
Những nguy cơ trên có thể được kiểm soát bằng các biện pháp sau:
Chiến lược này có thể được tối ưu hóa bằng cách:
Đường đua theo dõi chiến lược EMA nói chung là một chiến lược theo dõi xu hướng. Nó đồng thời xem xét theo dõi và điều chỉnh, xác định thời gian ra thị trường thông qua giao dịch EMA. Nó có thể được cấu hình mạnh mẽ, sử dụng đơn giản, kiểm soát rủi ro hiệu quả. Với các tham số được tối ưu hóa và hoàn thiện dần, hiệu suất của nó cũng có rất nhiều không gian nâng cao, đáng được đề xuất.
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moondevonyt
//@version=5
strategy("Cornoflower Trend Following Crypto", overlay=true)
// Input Settings
lenEma8 = input(8, title="Length of 8 EMA")
lenEma12 = input(12, title="Length of 12 EMA")
lenEma24 = input(24, title="Length of 24 EMA")
lenEma72 = input(72, title="Length of 72 EMA")
// Calculate the EMAs
ema8 = ta.ema(close, lenEma8)
ema12 = ta.ema(close, lenEma12)
ema24 = ta.ema(close, lenEma24)
ema72 = ta.ema(close, lenEma72)
// Entry Conditions
pullbackEntry = ta.crossover(close, ema12) and ta.crossover(close, ema24) and ta.crossover(close, ema72)
initialEntry = ta.crossover(close, ema72) and ta.crossover(ema8, ema12) and ta.crossover(ema8, ema24)
// Exit Conditions
profitTarget = 100 // Example target in pips, adjust according to your preference
trailingStop = 50 // Example trailing stop value in pips, adjust according to your preference
exitCondition = ta.crossunder(ema12, ema24)
// Execute Strategy
if pullbackEntry
strategy.entry("Pullback Entry", strategy.long)
if initialEntry
strategy.entry("Initial Entry", strategy.long)
if strategy.position_size > 0
strategy.exit("Profit Target", "Pullback Entry", limit=close + (profitTarget * syminfo.mintick))
strategy.exit("Trailing Stop", "Pullback Entry", stop=close - (trailingStop * syminfo.mintick), trail_points=trailingStop)
strategy.exit("Exit Condition", "Initial Entry", stop=close, when=exitCondition)
// Plot EMAs
plot(ema8, color=color.yellow, title="8 EMA", linewidth=1, style=plot.style_line)
plot(ema12, color=color.purple, title="12 EMA", linewidth=1, style=plot.style_line)
plot(ema24, color=color.blue, title="24 EMA", linewidth=1, style=plot.style_line)
plot(ema72, color=color.rgb(235, 255, 59), title="72 EMA", linewidth=1, style=plot.style_line)