
Chiến lược đồng bộ hóa xu hướng động lực là một chiến lược giao dịch kết hợp chỉ số động lực tương đối (RMI) và chỉ số hiện tại (presentTrend) tùy chỉnh. Chiến lược này sử dụng một phương pháp đa tầng, kết hợp phân tích động lực với phán đoán xu hướng, cung cấp cho các nhà giao dịch một cơ chế giao dịch linh hoạt và nhạy cảm hơn.
Chỉ số RMI là biến thể của chỉ số tương đối mạnh (RSI), nó đo lường kích thước động lực của giá tăng và giảm so với biến động giá trong một khoảng thời gian trước đó. Công thức tính toán của nó là:
RMI = 100 - 100/{1+trung bình tăng/trung bình giảm)
Chỉ số RMI có giá trị từ 0 đến 100, số lượng lớn hơn là tăng mạnh hơn, số lượng nhỏ hơn là giảm mạnh hơn.
Chỉ số presentTrend kết hợp phạm vi biến động thực (ATR) và đường trung bình di chuyển để xác định hướng xu hướng và mức hỗ trợ hoặc kháng cự động. Công thức tính toán là:
Đường lên: Đường trung bình di chuyển + (ATR × F)
Đường đua dưới: trung bình di chuyển - (ATR × F)
Đường trung bình di chuyển là trung bình giá đóng cửa của chu kỳ M trước đó
ATR là phạm vi biến động thực trung bình của chu kỳ M trước
F là số nhân của độ nhạy điều chỉnh
Khi giá phá vỡ đường đua lên xuống của PresentTrend, biểu thị xu hướng chuyển hướng, có thể là điểm tín hiệu vào hoặc ra khỏi.
Điều kiện tham gia:
Điều kiện ra sân ((với động lực dừng):
Công thức tính toán của dừng động:
Điểm mạnh của chiến lược này là kết hợp các phán đoán động lực của RMI với xu hướng và dừng động của PresentTrend, có thể theo dõi xu hướng và kiểm soát rủi ro hiệu quả.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có một số rủi ro:
Có thể giảm rủi ro trên bằng cách nới lỏng các điều kiện tham gia, tối ưu hóa các tham số, kết hợp với phán đoán xu hướng.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Chiến lược đồng bộ hóa xu hướng động lực là một chiến lược giao dịch đa tầng, đồng thời xem xét các chỉ số động lực và chỉ số xu hướng, có tính năng phán đoán chính xác, kiểm soát rủi ro tốt. Chiến lược này có thể được điều chỉnh linh hoạt theo sở thích cá nhân, sau khi tối ưu hóa sâu, có thể tận dụng đầy đủ lợi thế của việc nắm bắt xu hướng, là một chiến lược giao dịch đáng khuyên.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
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/
// © PresentTrading
//@version=5
strategy("PresentTrend RMI Synergy - Strategy [presentTrading]", shorttitle="PresentTrend RMI Synergy - Strategy [presentTrading]", overlay=false)
// Inputs
tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"])
lengthRMI = input.int(21, title="RMI Length")
lengthSuperTrend = input.int(5, title="presentTrend Length")
multiplierSuperTrend = input.float(4.0, title="presentTrend Multiplier")
// RMI Calculation
up = ta.rma(math.max(ta.change(close), 0), lengthRMI)
down = ta.rma(-math.min(ta.change(close), 0), lengthRMI)
rmi = 100 - (100 / (1 + up / down))
// PresentTrend Dynamic Threshold Calculation (Simplified Example)
presentTrend = ta.sma(close, lengthRMI) * multiplierSuperTrend // Simplified for demonstration
// SuperTrend for Dynamic Trailing Stop
atr = ta.atr(lengthSuperTrend)
upperBand = ta.sma(close, lengthSuperTrend) + multiplierSuperTrend * atr
lowerBand = ta.sma(close, lengthSuperTrend) - multiplierSuperTrend * atr
trendDirection = close > ta.sma(close, lengthSuperTrend) ? 1 : -1
// Entry Logic
longEntry = rmi > 60 and trendDirection == 1
shortEntry = rmi < 40 and trendDirection == -1
// Exit Logic with Dynamic Trailing Stop
longExitPrice = trendDirection == 1 ? lowerBand : na
shortExitPrice = trendDirection == -1 ? upperBand : na
// Strategy Execution
if (tradeDirection == "Long" or tradeDirection == "Both") and longEntry
strategy.entry("Long Entry", strategy.long)
strategy.exit("Exit Long", stop=longExitPrice)
if (tradeDirection == "Short" or tradeDirection == "Both") and shortEntry
strategy.entry("Short Entry", strategy.short)
strategy.exit("Exit Short", stop=shortExitPrice)
// Visualization
plot(rmi, title="RMI", color=color.orange)
hline(50, "Baseline", color=color.white)
hline(30, "Baseline", color=color.blue)
hline(70, "Baseline", color=color.blue)