Chiến lược này sử dụng trung bình động đơn giản của các điểm cao và điểm thấp so với giá đóng hiện tại để xác định các bước vào và ra.
Tính toán trung bình di chuyển đơn giản 4 giai đoạn của giá cao.
Tính toán trung bình di động đơn giản 4 giai đoạn của giá thấp.
Đi dài khi giá đóng phá vỡ trên điểm SMA cao.
Đi ngắn khi giá đóng phá vỡ dưới điểm thấp SMA.
Sử dụng lệnh dừng lỗ cố định và lấy lợi nhuận để quản lý rủi ro.
Sử dụng các chỉ số đơn giản, dễ hiểu và thực hiện.
Thời gian nắm bắt tín hiệu đột phá giá từ đường chéo SMA.
Có thể nhanh chóng lọc tiếng ồn và xác định xu hướng.
Các tính toán nhẹ giảm chi phí chiến lược.
Thích hợp như một chiến lược cơ bản cho việc mở rộng.
Cần các thông số hợp lý để tránh quá nhạy cảm.
Không thể xử lý rủi ro từ những vụ trốn thoát lớn.
Khả năng mất tích trong phạm vi.
Không thể tự động điều chỉnh dừng và giới hạn.
Thật khó để đánh giá bối cảnh xu hướng dài hạn.
Kiểm tra các thông số khác nhau để xem tác động đến chất lượng tín hiệu.
Thêm các bộ lọc để xác nhận hiệu quả của các vụ đột nhập.
Bao gồm phân tích xu hướng để tránh bẫy.
Phát triển các điểm dừng và giới hạn năng động.
Tối ưu hóa các điểm dừng để cải thiện tỷ lệ thắng.
Kiểm tra độ bền trong các khung thời gian khác nhau.
Chiến lược này sử dụng các chỉ số đơn giản để đo đạc đà tăng giá và cung cấp một khuôn khổ giao dịch xu hướng cơ bản. Với những cải tiến hơn nữa như tối ưu hóa tham số và kiểm soát rủi ro, logic giao dịch có thể mở rộng thành một hệ thống lượng mạnh mẽ.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-13 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HiLo", overlay=true) // Testing a specific period testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(4, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2017, "Backtest Stop Year") testStopMonth = input(5, "Backtest Stop Month") testStopDay = input(1, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false //HiLo Strategy length = input(4, minval=0) displace = input(0, minval=0) highsma = sma(high, length) lowsma = sma(low, length) longCondition = close > highsma[displace] if (longCondition) strategy.entry("long", true) shortCondition = close < lowsma[displace] if (shortCondition) strategy.entry("short", false) // Exit seems with a problem. it keeps saying the order's limit (2000) was reached even if I back test it just for a day. // If the two lines bellow are commented, then it it works. Anyone? Any idea what's wrong? // strategy.exit("exit", "long", profit=10, loss=5) // strategy.exit("exit", "short", profit=10, loss=5)