Chiến lược này là một hệ thống theo xu hướng dựa trên các cây nến Heikin-Ashi đã được sửa đổi. Bằng cách áp dụng làm bằng Mức trung bình chuyển động nhân tố (EMA) hai lần cho các cây nến Heikin-Ashi truyền thống, nó làm giảm hiệu quả tiếng ồn thị trường và cung cấp các tín hiệu xu hướng rõ ràng hơn. Chiến lược hoạt động trong chế độ chỉ dài, giữ các vị trí trong xu hướng tăng và ở ngoài thị trường trong xu hướng giảm, nắm bắt lợi nhuận thị trường thông qua phát hiện xu hướng hiệu quả.
Logic cốt lõi bao gồm các bước chính sau:
Chiến lược này xây dựng một hệ thống theo xu hướng mạnh mẽ bằng cách sử dụng làm mịn đôi và các ngọn nến Heikin-Ashi được sửa đổi như các thành phần cốt lõi của nó. Thiết kế chiến lược sạch sẽ và đơn giản, dễ hiểu và thực hiện, trong khi cung cấp nhiều hướng tối ưu hóa để thích nghi với môi trường thị trường khác nhau. Mặc dù nó có một số rủi ro chậm trễ và rút tiền, thông qua các biện pháp quản lý tiền và kiểm soát rủi ro thích hợp, chiến lược này có thể cung cấp cho các nhà đầu tư một công cụ theo xu hướng đáng tin cậy.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len = input.int(10, title="EMA Length") len2 = input.int(10, title="Smoothing Length") start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date") o = ta.ema(open, len) c = ta.ema(close, len) h = ta.ema(high, len) l = ta.ema(low, len) haclose = (o + h + l + c) / 4 var float haopen = na haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2 hahigh = math.max(h, math.max(haopen, haclose)) halow = math.min(l, math.min(haopen, haclose)) o2 = ta.ema(haopen, len2) c2 = ta.ema(haclose, len2) h2 = ta.ema(hahigh, len2) l2 = ta.ema(halow, len2) col = o2 > c2 ? color.red : color.lime // Plot candles without visible wicks plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100)) // Delayed Buy and Sell signals colorChange = col != col[1] buySignal = colorChange[1] and col[1] == color.lime sellSignal = colorChange[1] and col[1] == color.red plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small) plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Strategy entry and exit if (true) if (buySignal) strategy.entry("Long", strategy.long) if (sellSignal) strategy.close("Long") // Add a vertical line at the start date // if (time == start_date) // line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2) // Alert conditions alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed") alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green") alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")