
حکمت عملی ایک ملٹی ٹائم پیریڈ ٹرینڈ ہے جو ہموار موم بتیوں کے کراس اوور (Heikin-Ashi) اور ایکسپونینشل موونگ ایوریج (EMA) پر مبنی ہے۔ Heikin-Ashi candlesticks کی ہموار خصوصیات اور مختلف وقت کے دوران موونگ ایوریج کی ٹرینڈ ٹریکنگ کی صلاحیت کو یکجا کرکے، اور MACD اشارے کو بطور فلٹر استعمال کرکے، مارکیٹ کے رجحانات کی درست گرفت حاصل کی جاسکتی ہے۔ حکمت عملی ایک وقتی مدت کے درجہ بندی کے ڈیزائن کو اپناتی ہے، اور تین وقت کے وقفوں میں سگنل کیلکولیشن اور تصدیق کرتی ہے: 60 منٹ، 180 منٹ اور 15 منٹ۔
حکمت عملی کی بنیادی منطق میں درج ذیل اہم حصے شامل ہیں:
یہ حکمت عملی MACD فلٹر کے ساتھ مل کر ایک سے زیادہ وقت کے Heikin-Ashi اور 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", "")