Đây là một chiến lược giao dịch ngắn hạn dựa trên lý thuyết đột phá. Nó sử dụng các chỉ số trung bình động và các chỉ số giá cao nhất / thấp nhất để xác định các tín hiệu đột phá và thu lợi nhuận từ xu hướng ngắn hạn.
Chiến lược này sử dụng giá cao nhất trong 20 ngày để xác định xu hướng tăng. Khi giá đóng phá vỡ trên mức cao nhất trong 20 ngày, nó đi dài. Nó sử dụng giá thấp nhất trong 10 ngày để xác định xu hướng giảm. Khi giá đóng phá vỡ dưới mức thấp nhất trong 10 ngày, nó đi ngắn. Nó cũng sử dụng giá cao nhất trong 10 ngày làm tín hiệu thoát lỗ dừng cho các giao dịch ngắn.
Cụ thể, chiến lược bao gồm các quy tắc sau:
Bằng cách so sánh giá đóng cửa với giá cao nhất / thấp nhất của các giai đoạn khác nhau, nó bắt được sự đột phá xu hướng trong các chu kỳ ngắn hạn và thực hiện các giao dịch ngắn hạn.
Chiến lược có những lợi thế sau:
Ngoài ra còn có một số rủi ro:
Chúng ta có thể thiết lập stop loss để giới hạn mỗi lỗ giao dịch, hoặc điều chỉnh phạm vi tham số để kiểm soát tần suất giao dịch.
Chiến lược có thể được tối ưu hóa từ các khía cạnh sau:
Kết luận, đây là một chiến lược đột phá ngắn hạn đơn giản và thực tế. Nó giúp nắm bắt các cơ hội xu hướng chu kỳ ngắn. Nhưng có những rủi ro bị mắc kẹt và tần suất giao dịch cao. Bằng cách thêm bộ lọc, dừng lỗ, tối ưu hóa tham số, chúng ta có thể kiểm soát rủi ro và cải thiện hiệu quả. Chiến lược phù hợp với các nhà giao dịch tập trung vào cơ hội ngắn hạn và theo đuổi tỷ lệ giao dịch cao.
/*backtest start: 2022-11-27 00:00:00 end: 2023-12-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("TurtleBC Strategy v2 V.Troussel", shorttitle="TurtleBC-V.Troussel", overlay=true, pyramiding=0) // === BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2016, title = "From Year", minval = 2016) ToMonth = input(defval = 1, title = "To Month", minval = 1) ToDay = input(defval = 1, title = "To Day", minval = 1) ToYear = input(defval = 9999, title = "To Year", minval = 9999) enter_fast = input(20, minval=1) exit_fast = input(10, minval=1) exit_fast_short=input(10,minval=1) fastL = highest(close, enter_fast) fastS = highest(close ,exit_fast_short) fastLC = lowest(close, exit_fast) //Sortie pour le short exitS=close>fastS[1] enterL1 = close > fastL[1] exitL1 = close <= fastLC[1] strategy.entry("Long", strategy.long, when = enterL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))) strategy.close("Long", when = exitL1 and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))) //le trigger de sortie est strategy.entry("Short", strategy.short, when = exitL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))) strategy.close("Short", when = exitS and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))