
Chiến lược này dựa trên thời điểm cao và thấp của chu kỳ phá vỡ để đánh giá hướng xu hướng, làm nhiều khi giá phá vỡ thời kỳ cao và tháo dỡ khi phá vỡ thời kỳ thấp, thuộc chiến lược theo dõi xu hướng.
Chiến lược này đầu tiên đọc các chu kỳ của người dùng (đường ngày, chu kỳ, v.v.) và số chu kỳ xem lại. Sau đó, dựa trên các tham số này, giá cao nhất và giá thấp nhất của chu kỳ xem lại được lấy. Ví dụ: thiết lập chu kỳ đường ngày, xem lại 1 chu kỳ, lấy giá cao nhất và giá thấp nhất của ngày hôm qua.
Trong giao dịch thực tế, nếu giá đóng cửa lớn hơn mức giá thấp nhất của chu kỳ xem xét lại, nó được coi là phá vỡ lên, làm nhiều; Nếu giá đóng cửa nhỏ hơn mức giá cao nhất của chu kỳ xem xét lại, nó được coi là phá vỡ xuống, làm trống.
Đây là một trong những chiến lược theo dõi xu hướng.
Chiến lược này có một số ưu điểm:
Theo đó, các điểm đột phá có thể được sử dụng để đánh giá xu hướng, và các điểm mạnh có thể được sử dụng để đánh giá xu hướng lớn.
Nó hoạt động đơn giản và dễ hiểu, rất phù hợp cho người mới học sử dụng.
Các tham số chu kỳ điều chỉnh có thể được tối ưu hóa thuận tiện, áp dụng cho các giống khác nhau.
Có thể sử dụng nhiều chiến lược bằng cách cài đặt đầu vào ngược.
Xác định hỗ trợ tính cao và thấp của chu kỳ vẽ, tạo ra nhiều xác minh.
Chiến lược này cũng có một số rủi ro:
Không có bộ lọc hiệu quả để kiểm tra động đất, có thể xảy ra nhiều lần thao tác sai.
Không có khả năng kiểm soát lỗ hổng, có một mức độ rủi ro mất mát.
Trong khi đó, các nhà đầu tư khác cũng cho rằng các giao dịch có thể có lợi nhuận và thua lỗ.
Không có giới hạn về quy mô vị trí, có vấn đề về quá tải.
Đối với các rủi ro trên, có thể thiết lập các cơ chế dừng lỗ, tối ưu hóa các điều kiện lọc, kiểm soát số lượng vị trí và các phương pháp khác được tối ưu hóa.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Thêm cơ chế lọc để tránh việc mở kho thường xuyên. Có thể thiết lập các điều kiện lọc như kênh giá, tỷ lệ biến động.
Thiết lập dừng di chuyển hoặc dừng thời gian. Kiểm soát rủi ro tổn thất đơn lẻ, đảm bảo lợi nhuận tổng thể.
Tối ưu hóa quy mô vị trí và quản lý vốn, ngăn chặn các vấn đề quá tải và đảm bảo tính ổn định của chiến lược.
Kiểm tra hiệu quả của các tham số khác nhau trong chu kỳ và chọn các tham số tốt nhất.
Thêm mô-đun giao dịch thuật toán, sử dụng thuật toán học máy để cải thiện hiệu quả ra quyết định.
Nói chung, chiến lược phản hồi điểm cao thấp đột phá này dựa trên định hướng phán đoán theo dõi xu hướng, đơn giản và dễ vận hành, phù hợp cho người mới học, nhưng có nguy cơ bị đánh giá. Bằng cách thêm các điều kiện lọc, cơ chế dừng lỗ, kiểm soát vị trí, các phương tiện tối ưu hóa, các rủi ro này có thể được giảm thiểu và hiệu quả của chiến lược được cải thiện. Chiến lược này có thể cung cấp ý tưởng và điểm rút ra cho chúng tôi nghiên cứu và cải thiện hơn nữa.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
// Width - width of lines
// SelectPeriod - Day or Week or Month and etc.
// LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1, minval=0)
reverse = input(false, title="Trade reverse")
xHigh = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )