
Chiến lược bẫy phá vỡ đường trung bình là một công cụ giao dịch phổ biến trong nhiều khung thời gian, áp dụng cho khung thời gian 1 phút và 1 giờ. Chiến lược này sử dụng đường trung bình di chuyển 21 ngày để xác định các xu hướng thị trường quan trọng, đồng thời sử dụng chỉ số ATR để xác định các bẫy đa đầu và trống tiềm năng. Chiến lược này có tỷ lệ lợi nhuận lên đến 85%, có thể lên đến 88% trong điều kiện tốt nhất.
Chiến lược này đầu tiên tính toán đường trung bình di chuyển chỉ số 21 ngày để xác định xu hướng và hướng tổng thể. Sau đó tính toán giá cao nhất và giá thấp nhất trong N ngày gần đây (N là tham số điều chỉnh). Nếu giá đóng cửa cao hơn giá cao nhất trong ngày gần đây và sau đó giá thấp đã giảm so với giá cao nhất gần đây và ATR, đồng thời giá đóng cửa đã giảm so với đường 21 ngày, thì nó được đánh giá là tín hiệu bẫy đa đầu.
Một khi nhận ra tín hiệu bẫy, hãy đặt lệnh dừng lỗ theo 80% khoảng cách giữa giá cao nhất và giá thấp nhất gần đây. Ví dụ: sau khi nhận ra bẫy nhiều đầu, hãy giao dịch ngắn và đặt lệnh dừng lỗ; sau khi nhận ra bẫy nhiều đầu, hãy giao dịch nhiều đầu và đặt lệnh dừng lỗ.
Có thể giảm rủi ro bằng cách tối ưu hóa tham số EMA, điều chỉnh hệ số ATR, stoploss trailing động.
Chiến lược phá vỡ bẫy đường trung bình tích hợp các lợi thế của việc phán đoán xu hướng và nhận diện bẫy, rút lui nhỏ, lợi nhuận cao, phù hợp với nhiều phong cách giao dịch, là chiến lược hiệu quả đáng khuyến khích. Có thể tăng cường sự ổn định và lợi nhuận hơn nữa bằng cách tối ưu hóa tham số và cơ chế.
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bull and Bear Trap Strategy with EMA 21 - 1min Chart", overlay=true)
// Inputs
length = input(5, "Length")
atrMultiplier = input(1.0, "ATR Multiplier")
emaLength = input(21, "EMA Length")
price = close
atr = ta.atr(length)
// EMA Calculation
ema21 = ta.ema(price, emaLength)
// Define recent high and low
recentHigh = ta.highest(high, length)
recentLow = ta.lowest(low, length)
// Bull and Bear Trap Detection
bullTrap = price > recentHigh[1] and low <= recentHigh - atr * atrMultiplier and price < ema21
bearTrap = price < recentLow[1] and high >= recentLow + atr * atrMultiplier and price > ema21
// Plotting
plotshape(series=bullTrap, title="Bull Trap", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small)
plotshape(series=bearTrap, title="Bear Trap", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small)
plot(ema21, title="EMA 21", color=color.blue)
// Measured Move Implementation
moveSize = recentHigh - recentLow
targetDistance = moveSize * 0.8 // Target at 80% of the move size
// Strategy Execution with Measured Move Targets
if (bullTrap)
strategy.entry("Enter Short (Sell)", strategy.short)
strategy.exit("Exit Short (Buy to Cover)", "Enter Short (Sell)", limit=price - targetDistance)
if (bearTrap)
strategy.entry("Enter Long (Buy)", strategy.long)
strategy.exit("Exit Long (Sell)", "Enter Long (Buy)", limit=price + targetDistance)