
Chiến lược này dựa trên giá cao nhất gần đây và giá thấp nhất thiết lập điểm dừng lỗ để cắt xu hướng nhanh chóng và kiểm soát rủi ro chặt chẽ. Khi giá tăng liên tục, mở nhiều lệnh và mở lệnh trống khi giá giảm liên tục. Khi giữ vị trí, vị trí dừng lỗ nhiều đơn là giá thấp nhất của một vài dòng K gần nhất và vị trí dừng lỗ trống là giá cao nhất của một vài dòng K gần nhất.
inputChức năng thiết lập giá cao nhất và giá thấp nhất tham chiếu chu kỳhiLenVàloLen20 .ta.highest(high, hiLen)[1]Tính toán giá cao nhất cho đến một đường K trướchiHighssử dụngta.lowest(low, loLen)[1]Tính giá tối thiểu cho đến một đường KloLows。loLows, điểm dừng trống làhiHighsKhông được vẽ khi không giữ tiền, để dễ dàng xác nhận trực quan.higherCloseslowerClosesisFlatisFlatVàhigherClosesLưu ý:isFlatVàlowerClosesKhông có giấy tờ.loLowsGiá dừng lỗ khi nắm giữ một đơn vị trống là:hiHighs。Nói ngắn gọn, chiến lược này sử dụng giá cao nhất và thấp nhất gần đây để thiết lập lệnh dừng di chuyển, nhanh chóng cắt vào xu hướng mạnh và hạn chế nghiêm ngặt các khoản lỗ, có thể thu được lợi nhuận theo xu hướng một cách hiệu quả.
Chiến lược dừng lỗ giá thấp nhất này dựa trên giá thiết lập dừng động, có thể nắm bắt xu hướng mạnh mẽ một cách hiệu quả, kiểm soát rủi ro nghiêm ngặt. Ưu điểm của nó là đơn giản hiệu quả, cắt nhanh, dừng lỗ nghiêm ngặt, thích ứng mạnh mẽ. Nhưng trong thị trường biến động, xu hướng cuối cùng, hành động cực đoan, thiết lập tham số kém, cũng cần lưu ý.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Highest high/lowest low stop", overlay=true)
// STEP 1:
// Make inputs for length of highest high and lowest low
hiLen = input.int(20, title="Highest High Lookback", minval=2)
loLen = input.int(20, title="Lowest Low Lookback", minval=2)
// STEP 2:
// Calculate recent extreme high and low
hiHighs = ta.highest(high, hiLen)[1]
loLows = ta.lowest(low, loLen)[1]
// Plot stop values for visual confirmation
plot(strategy.position_size > 0 ? loLows : na,
style=plot.style_circles, color=color.green, linewidth=3,
title="Lowest Low Stop")
plot(strategy.position_size < 0 ? hiHighs : na,
style=plot.style_circles, color=color.red, linewidth=3,
title="Highest High Stop")
// Trading conditions for this example strategy
higherCloses = close > close[1] and
close[1] > close[2] and
close[2] > close[3]
lowerCloses = close < close[1] and
close[1] < close[2] and
close[2] < close[3]
isFlat = strategy.position_size == 0
// Submit entry orders
if isFlat and higherCloses
strategy.entry("EL", strategy.long)
if isFlat and lowerCloses
strategy.entry("ES", strategy.short)
// STEP 3:
// Submit stops based on highest high and lowest low
if strategy.position_size > 0
strategy.exit("XL HH", stop=loLows)
if strategy.position_size < 0
strategy.exit("XS LL", stop=hiHighs)