
এই কৌশলটি একটি মাল্টি-টাইম পিরিয়ড প্রবণতা অনুসরণ করে মসৃণ ক্যান্ডেলস্টিকস (হেকিন-আশি) ক্রসিং এর উপর ভিত্তি করে এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA)। হেইকিন-আশি মোমবাতিগুলির মসৃণ বৈশিষ্ট্যগুলি এবং বিভিন্ন সময়ের মধ্যে চলমান গড়গুলির প্রবণতা ট্র্যাকিং ক্ষমতাগুলিকে একত্রিত করে এবং ফিল্টার হিসাবে MACD সূচক ব্যবহার করে, আমরা সঠিকভাবে বাজারের প্রবণতা ক্যাপচার করতে পারি। কৌশলটি একটি সময়কালের শ্রেণিবিন্যাসের নকশা গ্রহণ করে এবং সংকেতগুলি গণনা করা হয় এবং 60 মিনিট, 180 মিনিট এবং 15 মিনিটের তিনটি সময়ে যাচাই করা হয়।
কৌশলটির মূল যুক্তিতে নিম্নলিখিত মূল অংশগুলি অন্তর্ভুক্ত রয়েছে:
এই কৌশলটি MACD ফিল্টারের সাথে মিলিত একাধিক সময়ের হেইকিন-আশি এবং EMA সিস্টেমের মাধ্যমে ট্রেডিং সিস্টেম অনুসরণ করে একটি সম্পূর্ণ প্রবণতা তৈরি করে। কৌশল নকশা সম্পূর্ণরূপে সিগন্যালের নির্ভরযোগ্যতা এবং সিস্টেমের স্থায়িত্ব বিবেচনা করে এবং প্যারামিটার অপ্টিমাইজেশান এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থার উন্নতির মাধ্যমে বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে পারে। কৌশলটির মূল সুবিধাটি সিগন্যালের মসৃণতা এবং একাধিক যাচাইকরণ প্রক্রিয়ার মধ্যে রয়েছে, তবে একই সময়ে, বাজারের শক এবং প্যারামিটার অপ্টিমাইজেশন সমস্যাগুলির ঝুঁকির দিকে মনোযোগ দেওয়া উচিত।
/*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", "")