Đây là một chiến lược giao dịch động lực dựa trên đường chéo trung bình động. Nó sử dụng hai đường trung bình động theo cấp số nhân (EMA) với các giai đoạn khác nhau để xác định tín hiệu giao dịch. Một tín hiệu mua được tạo ra khi EMA nhanh hơn vượt qua EMA chậm hơn. Một tín hiệu bán được tạo ra khi EMA nhanh hơn vượt qua dưới EMA chậm hơn.
EMA là viết tắt của Exponential Moving Average. Công thức tính toán cho EMA là: $$EMA_t = \frac{P_t \times k}{1+k}+\frac{EMA_{t-1}\times(1-k)}{1+k}$$ Nơi $ P_t $ là giá đóng cửa của ngày hiện tại, $ EMA_{t-1} $ là giá trị EMA của ngày trước, $ k = \frac{2}{n+1} $, và n là thời gian EMA.
Thời gian EMA nhanh trong chiến lược này được thiết lập ở mức 55 và thời gian EMA chậm được thiết lập ở mức 34. Khi EMA ngắn vượt qua EMA dài từ dưới lên, nó chỉ ra rằng trung bình động ngắn hạn bắt đầu dẫn đầu EMA dài từ dưới lên, tạo ra tín hiệu mua chéo vàng. Ngược lại, khi EMA ngắn vượt qua dưới EMA dài từ trên xuống, nó chỉ ra rằng trung bình động ngắn hạn bắt đầu tụt lại phía sau EMA dài từ dưới xuống, tạo ra tín hiệu bán chéo chết.
Những lợi thế của chiến lược này bao gồm:
Có một số rủi ro khi sử dụng chiến lược này:
Chiến lược có thể được tăng cường từ các khía cạnh sau:
Tóm lại, đây là một chiến lược giao dịch ngắn hạn rất cổ điển và thực tế. Nó có tín hiệu rõ ràng đơn giản và không gian ứng dụng linh hoạt. Thông qua điều chỉnh tham số, cơ chế lọc, kiểm soát rủi ro vv, hiệu suất của chiến lược có thể được cải thiện liên tục, làm cho nó trở thành một công cụ quan trọng cho giao dịch nội ngày tần số cao. Nói chung, chiến lược này rất thực tế với giá trị ứng dụng mạnh mẽ như một mô-đun cơ bản cho giao dịch định lượng.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("mohammad tork strategy", overlay=true) // Input parameters lengthShortEMA = input(55, title="Short EMA Length") lengthLongEMA = input(34, title="Long EMA Length") // Calculate EMAs emaShort = ta.ema(close, lengthShortEMA) emaLong = ta.ema(close, lengthLongEMA) // Conditions for Long Signal longCondition = ta.crossover(emaLong, emaShort) // Conditions for Short Signal shortCondition = ta.crossunder(emaLong, emaShort) // Execute Long Signal strategy.entry("Long", strategy.long, when = longCondition) // Execute Short Signal strategy.entry("Short", strategy.short, when = shortCondition) // Plot EMAs on the chart plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") // Plot Long Signal Icon with Buy Label plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.abovebar, size=size.small, text="Buy") // Plot Short Signal Icon with Sell Label plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sell")