Chiến lược này đánh giá thời gian mua và bán bằng cách tính toán đường trung bình di chuyển đơn giản của các điểm cao và thấp và so sánh với giá đóng cửa hiện tại. Mục đích của nó là để bắt được tín hiệu của giá vượt qua đường trung bình để có cơ hội sớm trong xu hướng.
Tính trung bình di chuyển đơn giản với độ dài 4 điểm cao
Tính trung bình di chuyển đơn giản với độ dài thấp là 4
Khi giá đóng cửa vượt qua mức trung bình cao nhất, hãy tham gia nhiều hơn
Khi giá đóng cửa phá vỡ đường trung bình điểm thấp, hãy tháo lỗ
Quản lý rủi ro bằng cách sử dụng các chiến lược dừng và dừng cố định
Sử dụng chỉ số đơn giản, dễ hiểu
Ghi lại các dấu hiệu của đường trung bình
Bạn có thể nhanh chóng lọc ra một số tiếng ồn và nhận ra xu hướng.
Tính toán nhỏ giúp giảm chi phí vận hành chiến lược
Chiến lược dựa trên hợp tác để mở rộng
Cần thiết lập các tham số hợp lý, tránh quá nhạy cảm
Không thể đối phó với rủi ro của đột phá lớn
Có một mức độ rủi ro của đà dập giá
Không thể tự động điều chỉnh vị trí dừng lỗ
Khó có thể xác định được chiều dài của xu hướng
Kiểm tra ảnh hưởng của các tham số khác nhau đến chất lượng tín hiệu
Tăng điều kiện lọc để đảm bảo tính hiệu quả của đột phá
Kết hợp phân tích xu hướng để tránh bị mắc kẹt
Phát triển chiến lược dừng lỗ động
Tối ưu hóa các cơ chế ngăn chặn thiệt hại, tăng tỷ lệ chiến lược
Kiểm tra sức mạnh của chiến lược trong các chu kỳ khác nhau
Chiến lược này cung cấp các ý tưởng giao dịch xu hướng cơ bản thông qua các chỉ số đơn giản để xác định động lực giá. Các chiến lược giao dịch của nó có thể mở rộng và phát triển thành một hệ thống định lượng khá 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)