
کیا آپ کو معلوم ہے؟ یہ حکمت عملی اس طرح کی ہے جیسے کہ آپ کو ایک توازن کی لکڑی پر رقص کرنے کا موقع مل جائے! یہ عام K- لائن گراف کو ایک ہموار ہیکن آشیہ گراف میں بدل دیتا ہے اور پھر Ichimoku کلاؤڈ گراف کے ساتھ بیس لائن کو جوڑ دیتا ہے۔ یہ تکنیکی تجزیہ کاروں کے لئے “دو افراد کے لئے فلیٹ سلائیڈنگ” ہے۔
اس حکمت عملی کا نچوڑ “تین گنا فلٹرنگ سسٹم” میں ہے جو اتنا ہی سخت ہے جتنا کہ آپ دل کی پیمائش کا انتخاب کرتے ہیں۔ سب سے پہلے ، ہائکن آشیہ کو Ichimoku بیس لائن کے صحیح طرف ہونا چاہئے (یہ بنیادی حد ہے) ؛ دوسرا ، 200 سائیکل ای ایم اے اس بات کو یقینی بناتا ہے کہ آپ بڑے رجحان کے ساتھ چلیں (دوسری طرف مت جائیں) ؛ اور آخر میں ، Ichimoku فلٹر کے پیچھے اس بات کو یقینی بناتا ہے کہ رفتار کی سمت درست ہے (جھوٹی توڑ پھوڑ سے بچنے کے لئے) ۔
یہ ڈرائیونگ کی طرح ہے: گرین لائٹ روشن ہے ((HA سگنل) ، سڑک کی حالت اچھی ہے ((مسلسل فلٹرنگ) ، اور آگے پیچھے چلنے والی گاڑی نہیں ہے ((پیچھے ہٹ جانے کی تصدیق) ۔ تینوں شرائط ایک ساتھ مل کر پوری ہو جائیں تو ہی ٹریڈنگ سگنل جاری کیا جائے گا!
گڑھے سے بچنے کا گائیڈ یہاں ہے! اس حکمت عملی کا سب سے ہوشیار حصہ یہ ہے کہ اے ٹی آر (اوسط حقیقی طول موج) کا استعمال کرتے ہوئے اسٹاپ نقصان کو ترتیب دیا جائے۔ یہ مارکیٹ میں اتار چڑھاؤ کے مطابق خود بخود ایڈجسٹ ہوجاتا ہے ، جیسے کاروں میں خود کار طریقے سے گشت کا نظام۔ جب مارکیٹ میں اتار چڑھاؤ ہوتا ہے تو ، اسٹاپ نقصان خود بخود کھل جاتا ہے۔ جب اتار چڑھاؤ کم ہوتا ہے تو ، اسٹاپ نقصان سخت ہوجاتا ہے۔
اس سے بھی زیادہ ، یہ ایک سے زیادہ ٹائم فریم استعمال کرتا ہے: اعلی ٹائم فریم کا اے ٹی آر اسٹاپ ٹو (منافع کو مکمل طور پر چلانے کے لئے) ، اور کم ٹائم فریم کا اے ٹی آر نقصان کو روکنے کے لئے (فوری نقصان سے بچنے کے لئے فنڈز) ۔ یہ ڈیزائن واقعی بہت ہی پیارا ہے!
یہ حکمت عملی خاص طور پر مارکیٹ کے ایسے ماحول کے لئے موزوں ہے جہاں رجحانات واضح ہیں۔ جب مارکیٹ افقی طور پر ہلچل مچا رہی ہے تو ، عارضی طور پر انتظار کرنے کی سفارش کی جاتی ہے ، کیونکہ ہیکن عاشی کو ہلچل مچانے والے بازاروں میں جعلی سگنل پیدا کرنے کا خطرہ ہے۔ بہترین استعمال کا منظر: 4 گھنٹے یا اہم کرنسی کے جوڑے کے لئے سائیکل چارٹ ، خاص طور پر اہم معاشی اعداد و شمار کے اجراء کے بعد رجحانات کی تصدیق کے مرحلے میں۔
یاد رکھیں کہ کوئی بھی حکمت عملی سب کچھ نہیں کر سکتی ہے۔ اس حکمت عملی کی طاقت درمیانی اور طویل مدتی رجحانات کو پکڑنے میں ہے ، اور اگر آپ تیز اور تیز تجارت کرنے والے ہیں تو ، آپ کو پیرامیٹرز کو ایڈجسٹ کرنے یا دیگر حکمت عملیوں کی تلاش کرنے کی ضرورت ہوسکتی ہے۔
/*backtest
start: 2024-10-20 00:00:00
end: 2025-10-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":500000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MahdiSalari8
//@version=6
strategy("Heiken Ashi Bas", overlay=true,
default_qty_type=strategy.fixed,
default_qty_value=0.1,
commission_type=strategy.commission.percent,
commission_value=0.07,
initial_capital=10000000,
pyramiding=0) // Changed to 0
// Inputs
useTrendFilter = input.bool(true, "Use 200 EMA Trend Filter", group="Filters")
showSignals = input.bool(true, "Show Buy/Sell Signals", group="Visuals")
showEma = input.bool(false, "Show 200 EMA", group="Visuals")
atrPeriod = input.int(14, "ATR Period", minval=1, group="Risk Management")
htf = input.timeframe("5", "Higher Timeframe for TP", group="Timeframes")
ltf = input.timeframe("1", "Lower Timeframe for SL", group="Timeframes")
tpMultiplier = input.float(2.0, "TP Multiplier", minval=0.1, group="Risk Management")
slMultiplier = input.float(1.0, "SL Multiplier", minval=0.1, group="Risk Management")
// Ichimoku Divergence Settings
useDivergenceFilter = input.bool(true, "Use Ichimoku Divergence Filter", group="Ichimoku Divergence")
showDivergenceLine = input.bool(true, "Show Divergence Line", group="Ichimoku Divergence")
divergenceLookback = input.int(2, "Divergence Lookback (bars)", minval=1, maxval=20, group="Ichimoku Divergence")
divergenceLineWidth = input.int(5, "Divergence Line Width", minval=1, maxval=5, group="Ichimoku Divergence")
// Heiken Ashi Calculation
var float haOpen = na
var float haClose = na
var float haHigh = na
var float haLow = na
haClose := (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh := math.max(high, math.max(haOpen, haClose))
haLow := math.min(low, math.min(haOpen, haClose))
// Ichimoku Baseline (Kijun-sen)
kijunPeriod = 26
kijunSen = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2
// Ichimoku Baseline Divergence Calculation
currentBaseline = kijunSen
pastBaseline = kijunSen[divergenceLookback]
// Calculate slope (divergence)
baselineSlope = (currentBaseline - pastBaseline) / divergenceLookback
// Determine bullish/bearish divergence (exclude when slope is 0)
bullishDivergence = baselineSlope > 0
bearishDivergence = baselineSlope < 0
slopeIsZero = baselineSlope == 0
// Trend Filter (200 EMA)
ema200 = ta.ema(close, 200)
// ATR Calculation for different timeframes
htfAtr = request.security(syminfo.tickerid, htf, ta.atr(atrPeriod))
ltfAtr = request.security(syminfo.tickerid, ltf, ta.atr(atrPeriod))
// Enhanced Entry Conditions with Divergence Filter (exclude when slope is 0)
longCondition = haClose > kijunSen and
haClose[1] >= kijunSen[1] and
haClose > haOpen and
(haHigh - haClose) >= (haClose - haOpen) * 0.3 and
(not useTrendFilter or close > ema200) and
(not useDivergenceFilter or (bullishDivergence and not slopeIsZero))
shortCondition = haClose < kijunSen and
haClose[1] <= kijunSen[1] and
haClose < haOpen and
(haClose - haLow) >= (haOpen - haClose) * 0.3 and
(not useTrendFilter or close < ema200) and
(not useDivergenceFilter or (bearishDivergence and not slopeIsZero))
// Dynamic TP/SL based on ATR
longTp = close + (htfAtr * tpMultiplier)
longSl = close - (ltfAtr * slMultiplier)
shortTp = close - (htfAtr * tpMultiplier)
shortSl = close + (ltfAtr * slMultiplier)
// Strategy Execution
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", limit=longTp, stop=longSl)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", limit=shortTp, stop=shortSl)
// Plotting
plot(kijunSen, color=color.blue, title="Ichimoku Baseline", linewidth=2, display=display.all)
// Plot Divergence Line (gray when slope is 0)
plot(showEma ? ema200 : na, color=color.purple, title="200 EMA", linewidth=1, display=display.all)
// Heiken Ashi Candles with 25% opacity
candleColor = haClose > haOpen ? color.new(color.green, 75) : color.new(color.red, 75)
plotcandle(haOpen, haHigh, haLow, haClose, title="Heiken Ashi", color=candleColor, wickcolor=candleColor, bordercolor=candleColor, display=display.all)
// Plot Buy/Sell Signals with labelup/labeldown shapes
plotshape(showSignals and longCondition, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.small, title="Buy Signal", display=display.all)
plotshape(showSignals and shortCondition, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.small, title="Sell Signal", display=display.all)
// Plot TP/SL levels - TP as lines with breaks, SL hidden by default
plot(strategy.position_size > 0 ? longTp : na, "Long TP", color=color.green, style=plot.style_linebr, linewidth=1, display=display.all)
plot(strategy.position_size > 0 ? longSl : na, "Long SL", color=color.red, style=plot.style_linebr, linewidth=1, display=display.none)
plot(strategy.position_size < 0 ? shortTp : na, "Short TP", color=color.green, style=plot.style_linebr, linewidth=1, display=display.all)
plot(strategy.position_size < 0 ? shortSl : na, "Short SL", color=color.red, style=plot.style_linebr, linewidth=1, display=display.none)
// Alerts
alertcondition(longCondition, "Long Signal", "HA Cross Above Kijun-sen with Bullish Divergence")
alertcondition(shortCondition, "Short Signal", "HA Cross Below Kijun-sen with Bearish Divergence")