
Chiến lược giao dịch hộp 52 tuần cao thấp là một chiến lược sử dụng “hộp” hình thành từ biến động của giá trong các khu vực khác nhau làm tín hiệu giao dịch. Lý thuyết cốt lõi của chiến lược này là khi giá vượt qua giới hạn trên và dưới của một khu vực (hộp), cho thấy giá đi vào một khu vực mới, khi đó có thể mua hoặc bán.
Chiến lược này tính toán giá cao nhất, giá thấp nhất trong 5 ngày gần đây (có thể điều chỉnh) để xác định xem giá có đi vào khu vực giao dịch mới hay không. Các quy tắc cụ thể như sau:
Một trong những ý tưởng cốt lõi của chiến lược này là đánh giá xu hướng và phát tín hiệu giao dịch thông qua các đợt phá vỡ như vậy.
Chiến lược giao dịch hộp 52 tuần có một số lợi thế:
Nhìn chung, đây là một chiến lược giao dịch xu hướng có khả năng kiểm soát rủi ro tốt hơn và thực tế hơn.
Chiến lược này cũng có một số rủi ro, bao gồm:
Điều này đòi hỏi các nhà giao dịch phải liên tục kiểm tra và tối ưu hóa các tham số chiến lược trong thực tế, quản lý rủi ro một cách thận trọng.
Chiến lược giao dịch hộp 52 tuần có thể được tối ưu hóa theo các khía cạnh sau:
Trong quá trình thực hành, hiệu quả của chiến lược có thể được nâng cao liên tục bằng cách điều chỉnh tham số và tối ưu hóa quy tắc.
Chiến lược giao dịch hộp 52 tuần cao thấp là một chiến lược để xác định hướng xu hướng dựa trên phạm vi phá vỡ giá. Nó có logic giao dịch đơn giản, khả năng kiểm soát rủi ro mạnh mẽ. Cần thử nghiệm và tối ưu hóa liên tục trong thực tế để khám phá đầy đủ lợi thế của chiến lược.
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun
//@version=4
strategy ("Darvas Box Strategy",overlay=true)
boxp=input(5, "BOX LENGTH")
D_High = security(syminfo.tickerid, 'D', high)
D_Low = security(syminfo.tickerid, 'D', low)
D_Close = security(syminfo.tickerid, 'D', close)
D_Open = security(syminfo.tickerid, 'D', open)
LL = lowest(D_Low,boxp)
k1 = highest(D_High,boxp)
k2 = highest(D_High,boxp-1)
k3 = highest(D_High,boxp-2)
NH = valuewhen(D_High>k1[1],D_High,0)
box1 = k3<k2
TopBox = valuewhen(barssince(D_High>k1[1])==boxp-2 and box1, NH, 0)
BottomBox = valuewhen(barssince(D_High>k1[1])==boxp-2 and box1, LL, 0)
plot(TopBox, linewidth=2, color=#00FF00, title="TopBox")
plot(BottomBox, linewidth=2, color=#FF0000, title="BottomBox")
if crossover(D_Close,TopBox)
strategy.entry("Long", strategy.long, comment="Long")
if crossunder(D_Close,BottomBox)
strategy.entry("Short", strategy.short, comment="Short")