
Đây là một chiến lược giao dịch sử dụng đường trung bình Renko để phán đoán và theo dõi xu hướng. Lập luận cốt lõi của chiến lược này là thực hiện các hoạt động mua hoặc bán tương ứng khi giá phá vỡ đường trung bình HL2 của chu kỳ 22.
Khi giá đóng cửa trên Renko, hãy làm nhiều hơn; khi giá đóng cửa dưới Renko, hãy làm trống. Bằng cách đánh giá mối quan hệ giữa giá và đường trung bình, để nắm bắt xu hướng.
HL2 (Highest High + Lowest Low) /2) là một đường trung bình xu hướng, kết hợp thông tin về giá cao nhất và giá thấp nhất, có thể đánh giá chính xác hơn về hướng phát triển của xu hướng. 22 là một giá trị kinh nghiệm được sử dụng để cân bằng độ nhạy của đường trung bình.
Ngoài ra, chiến lược cũng giới hạn các vị trí chỉ được mở trong một thời gian giao dịch cụ thể để tránh sự biến động mạnh mẽ của thị trường.
Đây là một chiến lược theo dõi xu hướng đơn giản và trực quan với những lợi thế sau:
Sử dụng đường Renko làm tín hiệu giao dịch, nó có thể lọc hiệu quả tiếng ồn thị trường và nắm bắt các xu hướng chính.
Trung bình HL2 kết hợp thông tin về giá cao nhất và giá thấp nhất để xác định xu hướng chính xác hơn.
Thiết lập các điểm dừng và dừng cố định có thể kiểm soát tốt rủi ro của một giao dịch.
Đường dừng di động có thể được sử dụng để khóa lợi nhuận và theo dõi xu hướng.
Giới hạn thời gian giao dịch có thể tránh được một số tác động của thị trường mạnh.
Chiến lược này cũng có một số rủi ro, đặc biệt là:
Chiến lược trung bình dễ tạo ra nhiều tín hiệu giả hơn.
Không có khả năng đối phó hiệu quả với rủi ro bị ngắt quãng do các sự kiện bất ngờ.
Thiết lập không đúng của Renko có thể khiến bạn bỏ lỡ cơ hội giao dịch tốt hơn.
Lệnh dừng cố định không thích ứng với sự thay đổi của thị trường.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Thêm các chỉ số hoặc điều kiện khác để lọc tín hiệu và giảm tín hiệu giả. Ví dụ: chỉ số năng lượng, chỉ số rung động, v.v.
Bạn có thể kiểm tra các số trung bình của các tham số khác nhau để tìm ra các số chu kỳ phù hợp hơn.
Kích thước của hộp của Renko cũng có thể được tối ưu hóa để đạt được các tham số tối ưu.
Tăng cơ chế dừng lỗ tự điều chỉnh dựa trên biến động.
Các thiết lập thời gian giao dịch khác nhau có thể được thử nghiệm để tối ưu hóa điều kiện này.
Nhìn chung, đây là một chiến lược thực tế đơn giản để sử dụng trung bình Renko để phán đoán và theo dõi xu hướng. Nó có logic giao dịch trực quan hơn, cơ chế kiểm soát rủi ro, phù hợp với các nhà giao dịch tìm kiếm thu nhập ổn định. Nhưng cũng có một số không gian cải tiến, có thể đạt được hiệu quả chiến lược tốt hơn bằng các phương tiện như tối ưu hóa tham số, tăng điều kiện lọc và tự điều chỉnh dừng lỗ.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("HL2 - 22 Cross", overlay=true)
// Stops and Profit inputs
inpTakeProfit = input(defval = 300, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 200, title = "Trailing Stop", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Offset", minval = 0)
// Stops and Profit Targets
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
//Specific Time to Trade
myspecifictradingtimes = input('0500-1600', title="My Defined Hours")
longCondition1 = crossover(close, ema(hl2, 22))
longCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if longCondition1 and longCondition2
strategy.entry("Long", strategy.long, comment="LongEntry")
shortCondition1 = crossunder(close, ema(hl2, 22))
shortCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if shortCondition1 and shortCondition2
strategy.entry("Short", strategy.short, comment="ShortEntry")
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)