
Tổng quan
Chiến lược này là một hệ thống theo dõi xu hướng dựa trên nhiều kết hợp đường trung bình, chủ yếu sử dụng mối quan hệ chéo và vị trí của bốn đường trung bình là đường tuần EMA20, đường SMA100, đường SMA50 và đường EMA20 để nắm bắt cơ hội đầu tư trung và dài hạn. Chiến lược này xác định thời gian tham gia nhiều lần tiềm năng bằng cách quan sát mối quan hệ giữa giá và đường trung bình, kết hợp với yêu cầu thời gian kéo dài.
Nguyên tắc chiến lược
Logic cốt lõi của chiến lược này dựa trên các điều kiện chính sau:
- Sử dụng đường tròn 20 chu kỳ chỉ số di chuyển trung bình ((EMA1W20) như là một chỉ số định hướng chính
- Đường trung bình di chuyển đơn giản 100 ngày ((SMA1D100) được xác nhận là xu hướng thứ cấp
- Sử dụng đường trục 50 ngày trung bình di chuyển đơn giản ((SMA1D50) như một tham chiếu xu hướng trung hạn
- Sử dụng chỉ số di chuyển trung bình 20 ngày của đường nhật thực (EMA1D20) để xác nhận xu hướng ngắn hạn
Hệ thống sẽ phát ra nhiều tín hiệu khi giá giữ trên EMA1W20 và SMA1D100 trong 14 ngày liên tiếp và giá giảm xuống SMA1D50. Thiết kế này kết hợp xác nhận xu hướng trong nhiều chu kỳ thời gian, giúp tăng độ tin cậy của tín hiệu giao dịch.
Lợi thế chiến lược
- Xác minh nhiều chu kỳ: Xác định xu hướng thị trường một cách toàn diện hơn bằng cách kết hợp các chỉ số đường trung bình ở cấp đường tròn và đường mặt trời
- Điều kiện nhập cảnh nghiêm ngặt: yêu cầu giá duy trì trên đường trung bình chính đủ lâu để có thể lọc hiệu quả các tín hiệu giả
- Kiểm soát rủi ro hợp lý: Sử dụng các mối quan hệ chéo và vị trí của nhiều đường thẳng, cung cấp ranh giới kiểm soát rủi ro rõ ràng cho giao dịch
- Khả năng thích ứng: Các tham số chiến lược có thể được điều chỉnh theo các môi trường thị trường khác nhau, có tính linh hoạt tốt
- Thực hiện rõ ràng: tín hiệu giao dịch rõ ràng, dễ dàng thực hiện theo chương trình
Rủi ro chiến lược
- Rủi ro về sự chậm trễ: Chỉ số đường trung bình tự nó có một sự chậm trễ, có thể dẫn đến sự chậm trễ trong thời gian nhập cảnh
- Rủi ro thị trường biến động: Trong thị trường đi ngang và biến động, tín hiệu đột phá sai thường xuyên có thể xảy ra
- Tính nhạy cảm của tham số: Các tham số tối ưu có thể khác nhau trong các môi trường thị trường khác nhau và cần được tối ưu hóa thường xuyên
- Rủi ro rút lui: Có thể chịu một sự rút lui lớn hơn nếu xu hướng đột ngột đảo ngược
- Rủi ro thực thi: Cần đảm bảo hoạt động ổn định của hệ thống, tránh mất tín hiệu hoặc trì hoãn thực thi
Hướng tối ưu hóa chiến lược
- Tiếp theo là việc giới thiệu các chỉ số giao dịch: có thể thêm các cơ chế xác nhận giao dịch để tăng độ tin cậy tín hiệu.
- Tối ưu hóa tham số thích ứng: Nghiên cứu phát triển cơ chế điều chỉnh động tham số, nâng cao khả năng thích ứng của chiến lược
- Thêm điều kiện lọc: xem xét thêm các chỉ số đánh giá môi trường thị trường, tránh giao dịch trong môi trường thị trường không phù hợp
- Cải thiện cơ chế dừng lỗ: Thiết kế các quy tắc dừng lỗ chi tiết hơn, kiểm soát rủi ro rút tiền
- Cải thiện xác nhận tín hiệu: Có thể xem xét thêm các chỉ số kỹ thuật khác để xác nhận phụ trợ
Tóm tắt
Chiến lược này tạo ra một hệ thống theo dõi xu hướng tương đối hoàn hảo, phù hợp cho các nhà đầu tư trung bình và dài hạn sử dụng bằng cách kết hợp nhiều đường trung bình. Mặc dù có một số rủi ro về sự chậm trễ và nhạy cảm với tham số, chiến lược có giá trị thực tế tốt hơn bằng cách kiểm soát rủi ro hợp lý và tối ưu hóa liên tục.
Mã nguồn chiến lược
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © petitepupu
//@version=5
ema20wTemp = ta.ema(close, 20)
ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off)
sma100d = ta.sma(close, 100)
sma50d = ta.sma(close, 50)
ema20d = ta.ema(close, 20)
daysAbove = input.int(14, title="Days", minval=1)
plot(ema20w, color=color.blue)
plot(sma100d, color=color.yellow)
plot(sma50d, color=color.red)
plot(ema20d, color=color.green)
longCondition = true
clean = true
for i = 0 to daysAbove
if close[i] < ema20w or close[i] < sma100d or close > sma50d
longCondition := false
clean := false
break
//TODO:
if clean != true
longCondition := true
for i = 0 to daysAbove
if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9
longCondition := false
break
// plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)