
Chiến lược quay trở lại trung tâm cao nhất thấp nhất là một chiến lược theo dõi xu hướng. Ý tưởng chính của nó là tính giá trung tâm của giá cao nhất và giá thấp nhất trong một khoảng thời gian nhất định trước đây làm giá chuẩn, sau đó dựa trên giá chuẩn này và kết hợp với tỷ lệ biến động để tính toán vùng bồi đắp và vùng bồi đắp.
Chiến lược này được thực hiện thông qua các bước sau:
Bằng cách này, bạn có thể theo dõi xu hướng khi giá đi vào trạng thái xu hướng; đồng thời bạn có thể kiểm soát rủi ro bằng tỷ lệ biến động.
Chiến lược này có một số ưu điểm:
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, có thể tối ưu hóa theo các cách sau:
Chiến lược này có thể được tối ưu hóa thêm:
Với những cải tiến này, chúng ta có thể mong đợi sẽ cải thiện hơn nữa tính ổn định và lợi nhuận của chiến lược.
Chiến lược xem lại trung tâm tối đa thấp nhất là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó có thể nắm bắt sự thay đổi giá, theo dõi xu hướng, đồng thời có thể kiểm soát rủi ro thông qua tỷ lệ biến động. Chiến lược này dễ thực hiện, phù hợp cho người mới bắt đầu học và thực hành giao dịch định lượng.
/*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)