Chiến lược Highest/Lowest Center Lookback là một chiến lược theo xu hướng. Ý tưởng chính của nó là tính toán giá trung bình của giá cao nhất và thấp nhất trong một khoảng thời gian nhất định trong quá khứ như là giá chuẩn, và sau đó tính toán vùng vào và vùng ra dựa trên giá chuẩn này kết hợp với biến động. Khi giá bước vào vùng vào, mua dài; khi giá bước vào vùng ra, đóng vị trí.
Chiến lược được thực hiện chủ yếu thông qua các bước sau:
Bằng cách này, nó có thể theo dõi xu hướng trong thời gian khi giá bước vào trạng thái xu hướng; đồng thời, rủi ro có thể được kiểm soát thông qua biến động.
Chiến lược này có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Để kiểm soát những rủi ro này, tối ưu hóa có thể được thực hiện trong các khía cạnh sau:
Chiến lược cũng có chỗ cho việc tối ưu hóa thêm:
Thông qua các tối ưu hóa này, có thể mong đợi sự cải thiện hơn nữa về sự ổn định chiến lược và lợi nhuận.
Chiến lược Highest/Lowest Center Lookback là một chiến lược theo xu hướng đơn giản và thực tế. Nó có thể nắm bắt sự thay đổi giá theo thời gian, theo dõi xu hướng, trong khi kiểm soát rủi ro thông qua biến động. Chiến lược dễ thực hiện, phù hợp cho người mới bắt đầu giao dịch định lượng để học và thực hành. Bằng cách tối ưu hóa các tham số và quy tắc, hiệu suất chiến lược có thể được cải thiện hơn nữa. Nói chung, đây là một chiến lược định lượng được khuyến cáo.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Highest/Lowest Center Lookback Strategy", overlay=true) lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length") smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length") atr_length = input(10, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(1.5, type=input.float, minval=0.5, title="ATR Multiplier") vola = atr(atr_length) * atr_multiplier price = sma(close, 3) l = ema(lowest(low, lookback_length), smoother_length) h = ema(highest(high, lookback_length), smoother_length) center = (h + l) * 0.5 upper = center + vola lower = center - vola trend = price > upper ? true : (price < lower ? false : na) bull_cross = crossover(price, upper) bear_cross = crossunder(price, lower) strategy.entry("Buy", strategy.long, when=bull_cross) strategy.close("Buy", when=bear_cross) plot(h, title="High", color=color.red, transp=75, linewidth=2) plot(l, title="Low", color=color.green, transp=75, linewidth=2) pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2) pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2) pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2) fill(pu, pc, color=color.green, transp=85) fill(pl, pc, color=color.red, transp=85) bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)