Chiến lược này sử dụng 4 khung thời gian khác nhau để xác định hướng xu hướng, để khám phá xu hướng dài hạn trong khi sử dụng ngắn hạn như là cơ hội nhập cảnh. Khi giá mở của 4 khung thời gian (ngày, tuần, 15 ngày, hàng tháng) đều thấp hơn giá đóng, nó được xác định là xu hướng tăng dài hạn; khi giá mở của 4 khung thời gian đều cao hơn giá đóng, nó được xác định là xu hướng giảm dài hạn. Chiến lược sẽ mở các vị trí khi xác nhận xu hướng dài hạn và một tín hiệu ngắn hạn được tạo ra.
Chiến lược này sử dụng 4 khung thời gian: hàng ngày, hàng tuần, 15 ngày và hàng tháng.
Khi giá mở của khung thời gian hàng ngày, hàng tuần, 15 ngày và hàng tháng đều thấp hơn giá đóng cửa, nó cho thấy giá đang có xu hướng tăng trên 4 khung thời gian này, vì vậy nó được xác định là thị trường tăng và tăng dài hạn.
Ngược lại, khi giá mở của 4 khung thời gian này đều cao hơn giá đóng, nó cho thấy giá đang có xu hướng giảm trong 4 khung thời gian này, vì vậy nó được xác định là thị trường giảm và giảm dài hạn.
Sau khi xác định hướng xu hướng dài hạn, chiến lược sẽ mở các vị trí khi một tín hiệu mua / bán được tạo ra trong ngắn hạn. nghĩa là, chiến lược này sử dụng dài hạn để xác định xu hướng chính và ngắn hạn để quyết định các cơ hội nhập cảnh cụ thể.
Chiến lược này có những lợi thế sau:
Phán quyết nhiều khung thời gian cải thiện độ chính xác
Sử dụng 4 khung thời gian khác nhau để đánh giá toàn diện xu hướng dài hạn có thể cải thiện độ chính xác của phán đoán và tránh bị đánh lừa bởi tiếng ồn thị trường ngắn hạn.
Kết hợp chiến lược dài hạn và ngắn hạn, linh hoạt
Sử dụng khung dài hạn để xác định hướng chính và ngắn hạn để tạo ra tín hiệu giao dịch, chiến lược này linh hoạt, có thể nắm bắt các cơ hội ngắn hạn trong khi không lệch khỏi xu hướng chính.
Các thông số đơn giản, dễ thực hiện
Các chỉ số đánh giá chính của chiến lược này chỉ là giá mở và đóng của 4 khung thời gian.
Có một số rủi ro trong chiến lược này:
Sự đảo ngược xu hướng dài hạn
Nếu xu hướng tăng dài hạn đảo ngược thành giảm dài hạn, chiến lược này không thể nhanh chóng phán đoán, có thể dẫn đến tổn thất lớn hơn.
Hiệu suất ngắn hạn kém
Chiến lược này chủ yếu dựa trên các tín hiệu ngắn hạn để xác định các cơ hội nhập cảnh cụ thể. Nếu hiệu suất ngắn hạn kém và không thể mở các vị trí vào đúng thời điểm, nó sẽ ảnh hưởng đến hiệu suất tổng thể. Các thông số ngắn hạn có thể được điều chỉnh hoặc chiến lược ngắn hạn có thể được tối ưu hóa trong trường hợp này.
Có thêm không gian tối ưu hóa cho chiến lược này:
Thêm chiến lược dừng lỗ
Di chuyển hoặc lệnh dừng lỗ có thể được thiết lập để kiểm soát lỗ tối đa.
Tối ưu hóa chiến lược ngắn hạn
Các chỉ số ngắn hạn khác nhau có thể được thử nghiệm để tìm các chiến lược ngắn hạn phù hợp hơn và cải thiện hiệu suất nhập cảnh.
Điều chỉnh vị trí năng động
Các vị trí có thể được điều chỉnh năng động dựa trên biến động thị trường, tăng các vị trí khi xu hướng trở nên rõ ràng hơn.
Kết hợp học máy
Một lượng lớn dữ liệu có thể được thu thập và các phương pháp học máy có thể được sử dụng để tối ưu hóa các tham số và quy tắc một cách năng động.
Chiến lược này xác định hướng xu hướng trên nhiều khung thời gian, áp dụng ý tưởng kết hợp dài hạn và ngắn hạn, đảm bảo đánh giá các xu hướng chính và sử dụng các cơ hội ngắn hạn. Logic tổng thể là rõ ràng và hợp lý, đơn giản để thực hiện, và nó là một chiến lược theo xu hướng hiệu quả. Với việc giới thiệu các kỹ thuật như dừng lỗ và quản lý vị trí động, chiến lược này có rất nhiều chỗ để cải thiện và đáng để thực hành và tối ưu hóa.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("[RichG] Easy MTF Strategy", overlay=false) TF_1_time = input("D", "Timeframe 1") TF_2_time = input("5D", "Timeframe 2") TF_3_time = input("15D", "Timeframe 3") TF_4_time = input("45D", "Timeframe 4") transaction_size = input(1, "Contract/Share Amount") src = close, len = 20 out = sma(src, len) width = 5 upcolor = green downcolor = red neutralcolor = blue linestyle = line TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false TF_1_color = TF_1 ? upcolor:downcolor TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false TF_2_color = TF_2 ? upcolor:downcolor TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false TF_3_color = TF_3 ? upcolor:downcolor TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false TF_4_color = TF_4 ? upcolor:downcolor TF_global = TF_1 and TF_2 and TF_3 and TF_4 TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false TF_global_color = TF_global ? green : TF_global_bear ? red : white TF_trigger_width = TF_global ? 6 : width plot(1, style=linestyle, linewidth=width, color=TF_1_color) plot(5, style=linestyle, linewidth=width, color=TF_2_color) plot(10, style=linestyle, linewidth=width, color=TF_3_color) plot(15, style=linestyle, linewidth=width, color=TF_4_color) plot(25, style=linestyle, linewidth=4, color=TF_global_color) exitCondition_Long = TF_global_bear exitCondition_Short = TF_global longCondition = TF_global if (longCondition) strategy.entry("MTF_Long", strategy.long, qty=transaction_size, when=strategy.position_size == 0) shortCondition = TF_global_bear if (shortCondition) strategy.entry("MTF_Short", strategy.short, qty=transaction_size, when=strategy.position_size == 0) strategy.close("MTF_Long", when=exitCondition_Long) strategy.close("MTF_Short", when=exitCondition_Short)