
Chiến lược này theo dõi xu hướng rủi ro thấp bằng cách tính toán đường trung bình trong các chu kỳ khác nhau để xác định giá vượt qua đường trung bình quan trọng.
Khi đường trung bình 10 ngày đi qua đường trung bình 200 ngày, và đường trung bình 20 ngày đi qua đường trung bình 50 ngày, hãy làm nhiều hơn; khi đường trung bình 10 ngày đi qua đường trung bình 200 ngày, và đường trung bình 20 ngày đi qua đường trung bình 50 ngày, hãy làm trống. Ở đây, bằng cách đánh giá đường trung bình kép, có thể lọc hiệu quả các đột phá giả.
Chiến lược này bắt đầu bằng cách tính toán các đường trung bình di chuyển chỉ số (EMA) trong bốn chu kỳ khác nhau là 10, 20, 50 và 200 ngày. Trong đó, đường 10 đại diện cho xu hướng ngắn hạn, đường 20 đại diện cho xu hướng trung hạn, đường 50 đại diện cho xu hướng trung hạn và đường 200 đại diện cho xu hướng dài hạn. Khi đường xu hướng ngắn hạn đi qua hoặc đi qua đường xu hướng dài hạn, giá có thể sẽ có một đột phá lớn lên hoặc xuống.
Điều này có thể làm giảm khả năng phá vỡ giả mạo bằng cách lọc bằng hai đường đồng nhất, làm cho tín hiệu giao dịch được tạo ra đáng tin cậy hơn.
Có thể cải thiện bằng cách giảm bớt mức độ phá vỡ đường trung bình một cách thích hợp, hoặc thêm các chỉ số khác như xác nhận khối lượng giao dịch để tối ưu hóa.
Tóm lại, chiến lược tổng thể chủ yếu dựa trên đường hai chiều, được hỗ trợ bởi tối ưu hóa tham số, khối lượng giao dịch và các chỉ số khác, có thể xây dựng một hệ thống theo dõi xu hướng ổn định.
Chiến lược này nói chung là một chiến lược theo dõi xu hướng thực tế đơn giản. Nó sử dụng đường trung bình kép làm cơ sở phán đoán giao dịch chính, giảm khả năng phá vỡ giả mạo bằng cách lọc kép, và tín hiệu được tạo ra đáng tin cậy hơn. Đồng thời, cài đặt tham số đơn giản và dễ sử dụng.
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-13 02:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Advancing Our Basic Strategy", overlay=true)
ema10 = ema(close, 10)
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema200 = ema(close, 200)
long = ema10 > ema200 and ema20 > ema50
short = ema10 < ema200 and ema20 < ema50
longcondition = long and long[10] and not long[11]
shortcondition = short and short[10] and not short[11]
closelong = ema10 < ema200 or ema20 < ema50 and not long[11]
closeshort = ema10 > ema200 or ema20 > ema50 and not short[11]
plot(ema10, title="10", color=green, linewidth=2)
plot(ema20, title="20", color=red, linewidth=3)
plot(ema50, title="50", color=purple, linewidth=2)
plot(ema200, title="200", color=blue, linewidth=3)
testPeriodStart = timestamp(2018,8,1,0,0)
testPeriodStop = timestamp(2038,8,30,0,0)
if time >= testPeriodStart and time <= testPeriodStop
strategy.entry("Long", strategy.long, 1, when=longcondition)
strategy.entry("Short", strategy.short, 1, when=shortcondition)
strategy.close("Long", when = closelong)
strategy.close("Short", when = closeshort)