Chiến lược này là một xu hướng sau chiến lược giao dịch trung bình động. Nó sử dụng trung bình động của giá cao nhất và thấp nhất với các thiết lập tham số khác nhau để xác định xu hướng thị trường và tạo ra tín hiệu giao dịch tại các điểm chuyển đổi. Nó đi dài khi giá vượt qua đường trung bình động theo dõi tăng và đi ngắn khi giá vượt qua đường theo dõi giảm. Chiến lược cũng sử dụng ATR để đặt mức dừng lỗ và lấy lợi nhuận.
Chiến lược sử dụng các đường trung bình động đơn giản của giá cao nhất và thấp nhất với các thông số khác nhau để xác định xu hướng thị trường.
Hệ thống h1 và l1 theo dõi xu hướng từ phía trên. h1 là trung bình động đơn giản của giá cao nhất, đóng vai trò là dải trên của xu hướng; l1 được xây dựng bởi h1 trừ giá trị ATR, đóng vai trò là dải dưới. Một tín hiệu dài được tạo ra khi giá phá vỡ trên h1, và một tín hiệu gần được tạo ra khi giá giảm xuống dưới l1.
Hệ thống h2 và l2 theo dõi xu hướng giảm. h2 là trung bình động đơn giản của giá thấp nhất, đóng vai trò là dải dưới; l2 được xây dựng bởi h2 cộng với giá trị ATR, đóng vai trò là dải trên.
Các hệ thống hai băng tần có thể xác định chính xác hơn các bước ngoặt xu hướng và lọc ra một số giao dịch ồn ào. Trong khi đó, giá trị ATR được sử dụng để thiết lập dừng lỗ và lấy mức lợi nhuận để kiểm soát tỷ lệ rủi ro-lợi nhuận cho mỗi giao dịch.
Những lợi thế chính của chiến lược này bao gồm:
Ngoài ra còn có một số rủi ro liên quan đến chiến lược này:
Giải pháp:
Chiến lược có thể được tối ưu hóa từ các khía cạnh sau:
Tóm lại, đây là một chiến lược theo xu hướng đơn giản và thực tế. Triết lý cốt lõi là xác định các điểm chuyển đổi xu hướng và kiểm soát mỗi lỗ thương mại thông qua lọc hai băng tần và dừng ATR năng động. Nó có giá trị thực tế rõ ràng và cũng có nhiều phòng tối ưu hóa. Hiệu suất tốt hơn có thể đạt được thông qua điều chỉnh tham số, kết hợp các chỉ số khác v.v.
/*backtest start: 2023-12-05 00:00:00 end: 2024-01-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) highest_length = input(200, type=input.integer, minval=1, title="Highest Length") highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length") lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length") lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length") atr_length = input(14, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier") a = atr(atr_length) * atr_multiplier h1 = sma(highest(high, highest_length), highest_average) l1 = h1 - a h2 = sma(lowest(low, lowest_length), lowest_average) l2 = h2 + a buy1_signal = crossover(close, h1) sell1_signal = crossunder(close, l1) strategy.entry("Buy", strategy.long, when=buy1_signal) strategy.close("Buy", when=sell1_signal) buy2_signal = crossunder(close, h2) sell2_signal = crossover(close, l2) strategy.entry("Sell", strategy.short, when=buy2_signal) strategy.close("Sell", when=sell2_signal) y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2) y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2) y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2) y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2) fill(y1,y2,color=color.green) fill(y3,y4,color=color.red)