Chiến lược tăng/giảm liên tiếp trong N ngày
Bài viết này sẽ giới thiệu chi tiết về logic giao dịch, lợi thế, rủi ro tiềm năng và tóm tắt chiến lược N ngày tăng / giảm liên tiếp.
Đây là một chiến lược chỉ dài xác định các bước vào và ra dựa trên các ngày tăng liên tiếp và ngày giảm liên tiếp được xác định bởi người dùng.
Chiến lược logic
Đầu tiên, chúng ta cần thiết lập hai thông số:
BarsUp liên tiếp: ngày liên tiếp consecutiveBarsDown: những ngày liên tục không hoạt động
Sau đó chúng ta ghi lại hai biến:
ups: các ngày tăng liên tiếp hiện tại dns: ngày không hoạt động liên tiếp hiện tại
Mỗi ngày chúng tôi so sánh giá đóng cửa với ngày đóng cửa trước để xác định xem đó là một ngày tăng hay giảm.
Khi ups đạt đến consecutiveBarsUp, chúng ta sẽ đi dài.
Đó là logic đơn giản cho một chiến lược tăng/giảm liên tục. Chúng ta chỉ đi dài sau các ngày tăng liên tục từ đáy. Và thoát ra sau các ngày giảm liên tục. Điều này tránh giao dịch thường xuyên trong các thị trường giới hạn phạm vi.
Ưu điểm
Logic đơn giản, dễ hiểu và thực hiện
Lọc biến động ngắn hạn theo thiết lập ngày liên tiếp
Chỉ dài, ít giao dịch, chi phí giao dịch thấp hơn và tác động trượt
Dễ dàng thiết lập dừng lỗ, kiểm soát hiệu quả lỗ giao dịch duy nhất
Những rủi ro tiềm tàng
Không thể bán ngắn, bỏ lỡ cơ hội bán ngắn
Cần ngày liên tiếp để nhập, có thể thiếu điểm nhập tốt nhất
Thời gian trễ, không ghi lại các vòng quay trong thời gian thực
Lợi nhuận lớn trong giao dịch đơn mà không cần dừng lỗ
Tóm lại
Chiến lược ngày tăng/giảm liên tục được phổ biến rộng rãi vì tính đơn giản và giao dịch tần số thấp. Với điều chỉnh tham số thích hợp, nó có thể lọc ra các whipsaws một cách hiệu quả. Nhưng nó cũng có những hạn chế như thời gian trễ và không thể bán ngắn. Các nhà đầu tư cần xem xét cẩn thận trước khi áp dụng.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy // strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) // There will be no short entries, only exits from long. // strategy.risk.allow_entry_in(strategy.direction.long) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)