Strategi ini adalah sistem mengikuti trend berdasarkan lilin Heikin-Ashi yang diubah suai. Dengan menggunakan penyelarasan purata bergerak eksponen ganda (EMA) ke lilin Heikin-Ashi tradisional, ia secara berkesan mengurangkan bunyi bising pasaran dan memberikan isyarat trend yang lebih jelas. Strategi ini beroperasi dalam mod panjang sahaja, memegang kedudukan semasa trend menaik dan tinggal di luar pasaran semasa trend menurun, menangkap pulangan pasaran melalui pengesanan trend yang cekap.
Logik teras merangkumi langkah utama berikut:
Strategi ini membina sistem trend berikut yang kukuh dengan menggunakan pelinciran berganda dan lilin Heikin-Ashi yang diubah suai sebagai komponen utamanya. Reka bentuk strategi adalah bersih dan mudah, mudah difahami dan dilaksanakan, sambil menyediakan pelbagai arah pengoptimuman untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza. Walaupun ia mempunyai risiko kelewatan dan penarikan tertentu, melalui pengurusan wang yang betul dan langkah-langkah kawalan risiko, strategi ini dapat menyediakan pelabur dengan alat trend berikut yang boleh dipercayai.
/*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")