
Chiến lược này sử dụng 4 khung thời gian khác nhau để đánh giá xu hướng xu hướng, để phát hiện xu hướng đường dài đồng thời sử dụng đường ngắn như thời gian vào. Khi giá mở của 4 khung thời gian (đường mặt trời, đường tuần hoàn, đường 15 ngày, đường trăng) đều thấp hơn giá đóng cửa, chiến lược sẽ sử dụng tín hiệu tạo ra đường ngắn để mở vị trí.
Chiến lược này sử dụng bốn khung thời gian: đường mặt trời, đường tuần hoàn, đường 15 ngày và đường mặt trăng. Định hướng xu hướng dài hạn được đánh giá dựa trên mối quan hệ giữa giá mở và giá đóng của bốn khung thời gian này.
Giá mở cửa của đường ngày, đường tròn, đường 15 ngày và đường trăng đều thấp hơn giá đóng cửa, cho thấy giá có xu hướng tăng trên bốn khung thời gian này, được đánh giá là xu hướng đa chiều, nhìn dài.
Ngược lại, khi tất cả các giá mở của bốn khung thời gian đều cao hơn giá đóng cửa, thì giá trên bốn khung thời gian đều có xu hướng giảm, được coi là một hành động không có giá, giảm dài hạn.
Sau khi xác định được hướng của xu hướng dài hạn, chiến lược sẽ mở vị trí khi đường ngắn tạo ra tín hiệu mua / bán. Nói cách khác, chiến lược này sử dụng đường dài để xác định xu hướng lớn, sử dụng đường ngắn để xác định thời điểm vào cụ thể.
Chiến lược này có những ưu điểm sau:
Sử dụng 4 khung thời gian khác nhau để đánh giá tổng hợp các 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ị rối bởi tiếng ồn thị trường ngắn hạn.
Sử dụng khung đường dài để đánh giá xu hướng lớn, đồng thời sử dụng đường ngắn để tạo ra tín hiệu hoạt động, có thể nắm bắt cơ hội đường ngắn mà không lệch khỏi xu hướng chính.
Chiến lược này chủ yếu đánh giá chỉ số chỉ với giá mở và giá đóng trong 4 khung thời gian, các tham số được thiết lập đơn giản và dễ thực hiện.
Chiến lược này cũng có một số rủi ro, bao gồm:
Nếu xu hướng giảm giá dài hạn bị đảo ngược, biến thành giảm giá dài hạn, chiến lược này không thể đánh giá kịp thời, có thể dẫn đến tổn thất lớn. Tại thời điểm này, cần can thiệp bằng tay hoặc thiết lập dừng lỗ.
Chiến lược này chủ yếu dựa vào tín hiệu tạo ra đường ngắn để quyết định thời gian nhập cảnh cụ thể. Nếu hoạt động ngắn hạn không hiệu quả, không thể mở vị trí vào thời điểm thích hợp, sẽ ảnh hưởng đến hiệu quả của chiến lược tổng thể. Tại thời điểm này, bạn có thể điều chỉnh tham số đường ngắn hoặc tối ưu hóa chiến lược đường ngắn.
Chiến lược này có thể được tối ưu hóa hơn nữa:
Có thể thiết lập dừng di động hoặc dừng đơn để kiểm soát tổn thất tối đa.
Có thể thử nghiệm các chỉ số short-line khác nhau để tìm kiếm chiến lược short-line phù hợp hơn và cải thiện hiệu quả nhập học.
Bạn có thể thay đổi vị trí theo biến động của thị trường và tăng vị trí khi xu hướng rõ ràng hơn.
Có thể thu thập một lượng lớn dữ liệu và sử dụng các phương pháp học máy để tối ưu hóa các tham số và quy tắc một cách động.
Chiến lược này thông qua nhiều khung thời gian để đánh giá xu hướng, sử dụng các đường dài và đường ngắn kết hợp với tư duy, đảm bảo đánh giá xu hướng lớn, và sử dụng các cơ hội đường ngắn để tham gia, toàn bộ hoạt động logic rõ ràng và hợp lý, thực hiện đơn giản, là một chiến lược theo dõi xu hướng hiệu quả. Với sự ra đời của các công nghệ như dừng lỗ, quản lý vị thế động, chiến lược này cũng có rất nhiều cải tiến, đá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)