এই কৌশলটি হেকিন-আশি মোমবাতি এবং এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) ক্রসওভারের উপর ভিত্তি করে একটি মাল্টি-টাইমফ্রেম ট্রেন্ড অনুসরণকারী সিস্টেম। এটি হেকিন-আশি মোমবাতিগুলির মসৃণকরণ বৈশিষ্ট্যগুলিকে বিভিন্ন সময়সীমার মধ্যে চলমান গড়ের ট্রেন্ড-অনুসরণ ক্ষমতাগুলির সাথে একত্রিত করে, বাজারের প্রবণতা সঠিকভাবে ক্যাপচার করার জন্য একটি অতিরিক্ত ফিল্টার হিসাবে এমএসিডি ব্যবহার করে। কৌশলটি একটি শ্রেণিবদ্ধ সময়সীমা নকশা ব্যবহার করে, 60 মিনিট, 180 মিনিট এবং 15 মিনিটের সময়সীমার মধ্যে সংকেতগুলি গণনা এবং যাচাই করে।
মূল যুক্তিতে বেশ কয়েকটি মূল উপাদান অন্তর্ভুক্ত রয়েছেঃ
এই কৌশলটি মাল্টি-টাইমফ্রেম হেইকিন-আশি এবং ইএমএ সিস্টেমগুলিকে ম্যাকডি ফিল্টারিংয়ের সাথে একত্রিত করে একটি সম্পূর্ণ ট্রেডিং সিস্টেম অনুসরণ করে। পরামিতি অপ্টিমাইজেশন এবং ঝুঁকি নিয়ন্ত্রণ প্রক্রিয়াগুলির মাধ্যমে বিভিন্ন বাজারের পরিবেশে অভিযোজিত হতে সক্ষম সিগন্যাল নির্ভরযোগ্যতা এবং সিস্টেমের স্থিতিশীলতা পুরোপুরি বিবেচনা করে। কৌশলটির মূল শক্তিগুলি সংকেত মসৃণকরণ এবং মাল্টি-বৈধকরণ প্রক্রিয়াগুলিতে রয়েছে, যখন অশান্ত বাজার ঝুঁকি এবং পরামিতি অপ্টিমাইজেশনের বিষয়গুলিতে মনোযোগ দিতে হবে।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tradingbauhaus //@version=5 strategy("Heikin Ashi Candle Time Frame @tradingbauhaus", shorttitle="Heikin Ashi Candle Time Frame @tradingbauhaus", overlay=true) // Inputs res = input.timeframe(title="Heikin Ashi Candle Time Frame", defval="60") hshift = input.int(1, title="Heikin Ashi Candle Time Frame Shift") res1 = input.timeframe(title="Heikin Ashi EMA Time Frame", defval="180") mhshift = input.int(0, title="Heikin Ashi EMA Time Frame Shift") fama = input.int(1, title="Heikin Ashi EMA Period") test = input.int(1, title="Heikin Ashi EMA Shift") sloma = input.int(30, title="Slow EMA Period") slomas = input.int(1, title="Slow EMA Shift") macdf = input.bool(false, title="With MACD filter") res2 = input.timeframe(title="MACD Time Frame", defval="15") macds = input.int(1, title="MACD Shift") // Heikin Ashi calculation var float ha_open = na ha_close = (open + high + low + close) / 4 ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2 ha_high = math.max(high, math.max(ha_open, ha_close)) ha_low = math.min(low, math.min(ha_open, ha_close)) // Adjusted Heikin Ashi Close for different timeframes mha_close = request.security(syminfo.tickerid, res1, ha_close[mhshift]) // MACD calculation [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) macdl = request.security(syminfo.tickerid, res2, macdLine[macds]) macdsl = request.security(syminfo.tickerid, res2, signalLine[macds]) // Moving Averages fma = ta.ema(mha_close[test], fama) sma = ta.ema(ha_close[slomas], sloma) plot(fma, title="Heikin Ashi EMA", color=color.green, linewidth=2) plot(sma, title="Slow EMA", color=color.red, linewidth=2) // Strategy Logic golong = ta.crossover(fma, sma) and (macdl > macdsl or not macdf) goshort = ta.crossunder(fma, sma) and (macdl < macdsl or not macdf) // Plot Shapes for Buy/Sell Signals plotshape(golong, color=color.green, text="Buy", style=shape.triangleup, location=location.belowbar) plotshape(goshort, color=color.red, text="SELL", style=shape.triangledown, location=location.abovebar) // Strategy Orders strategy.entry("Long", strategy.long, when=golong) strategy.close("Long", when=goshort) strategy.entry("Short", strategy.short, when=goshort) strategy.close("Short", when=golong) // Alerts alertcondition(golong, "Heikin Ashi BUY", "") alertcondition(goshort, "Heikin Ashi SELL", "")