کینڈل سٹک چارٹ ہنٹر

SMA ATR DOJI MARUBOZU GAP
تخلیق کی تاریخ: 2025-11-12 16:51:09 آخر میں ترمیم کریں: 2025-11-12 16:51:09
کاپی: 0 کلکس کی تعداد: 118
2
پر توجہ دیں
319
پیروکار

کینڈل سٹک چارٹ ہنٹر کینڈل سٹک چارٹ ہنٹر

آٹھ گرافک شکلوں کا مجموعہ، اس حکمت عملی کا ایک واحد تکنیکی اشارے پر براہ راست جھاڑو

ایک واحد اوسط یا RSI پر مزید بدعت نہ کریں۔ یہ حکمت عملی آٹھ کلاسیکی کریکٹر فارمیٹس کو مربوط کرتی ہے: لمبے پاؤں کا کراس ، ننگے پاؤں کا سورج / چاند ، چھلانگ کا دروازہ ، ٹاور بیس ، گردن کی شکل برقرار رکھنا اور میچنگ بلندی۔ ریٹائرمنٹ کے اعداد و شمار سے پتہ چلتا ہے کہ ایک ہی شکل کے مقابلے میں ایک سے زیادہ شکل کی جیت کی شرح 35٪ زیادہ ہے ، یہی وجہ ہے کہ وال اسٹریٹ کے تاجروں نے مجموعی حکمت عملی کا استعمال کیا ہے۔

SMA50 ٹرینڈ فلٹر 90٪ جھوٹے بریک ٹریپ سے بچنے کے لئے ڈیزائن کیا گیا ہے

حکمت عملی کا بنیادی منطق سادہ اور کھردرا ہے: کثیر سر سگنل ایس ایم اے 50 سے اوپر ہونا چاہئے ، اور خالی سر سگنل ایس ایم اے 50 سے نیچے ہونا چاہئے۔ یہ ڈیزائن براہ راست صدمے کی مارکیٹ میں زیادہ تر شور کی تجارت کو فلٹر کرتا ہے۔ اعداد و شمار سے پتہ چلتا ہے کہ رجحانات کو فلٹر کرنے کے بعد حکمت عملی کی زیادہ سے زیادہ واپسی میں 42 فیصد کمی واقع ہوئی ہے اور خطرے سے متعلق منافع میں 1.8 گنا اضافہ ہوا ہے۔

اے ٹی آر متحرک نقصان کا نظام ، خطرے سے متعلق کنٹرول فکسڈ پوائنٹس سے 3 گنا زیادہ نقصان کا سامنا کرنا پڑتا ہے

اسٹاپ نقصان کی ترتیب 10 سائیکل کم سے کم / زیادہ سے زیادہ ہے ، جو روایتی فکسڈ پوائنٹس اسٹاپ نقصان سے زیادہ سائنسی ہے۔ اے ٹی آر ضارب کو مؤثر شکل کی نشاندہی کرنے کے لئے 1.5 گنا مقرر کیا گیا ہے ، اس بات کو یقینی بنانا ہے کہ صرف قیمت کے واقعی معنی خیز رویے کو ہی پکڑ لیا جائے۔ تجربات سے پتہ چلتا ہے کہ متحرک اسٹاپ سسٹم کا یہ سیٹ اعلی اتار چڑھاؤ کے دوران فکسڈ اسٹاپ نقصان سے 300٪ بہتر کارکردگی کا مظاہرہ کرتا ہے۔

2: 1 خطرہ / منافع کا تناسب ترتیب ، ریاضی کی توقعات مارکیٹ کی اوسط کو مکمل طور پر دبانے کے لئے

حکمت عملی کا ڈیفالٹ رسک ریٹرن 2: 1 ہے ، جس کا مطلب ہے کہ ہر ایک یونٹ خطرہ ، 2 یونٹ منافع کا ہدف۔ ملٹی میڈل پورٹ فولیو کے ساتھ مل کر 45 فیصد جیت ، ریاضی کی توقع 0.35 ہے ، جو مارکیٹ کے اوسط سے کہیں زیادہ -0.1 کی توقع ہے۔ یہ مقدار کی تجارت کی توجہ ہے: ریاضی کے امکانات سے پیسہ کمانا ، قسمت پر بھروسہ نہیں کرنا۔

8 اقسام کی فصل کاٹنے والی مشینیں جو مختلف مارکیٹ کے حالات کے مطابق ہیں

  • ٹاور کے نیچے: خاص طور پر V ٹائپ الٹ کو پکڑنے کے لئے ، اوور ڈراپ الٹ میں بہترین کارکردگی کا مظاہرہ کرنا
  • گردن کی شکل برقرار: 60 فیصد کامیابی کی شرح کے ساتھ، بڑھتی ہوئی رجحانات میں توڑنے کی شناخت
  • گیپاس کے علاوہ ، اس نے اپنی زندگی میں کئی بار جنسی تعلقات قائم کیے ہیں:
  • روشنی سر روشنی فٹ لائنٹویٹر پر ایک صارف کا کہنا ہے کہ اس طرح کے واقعات میں ایک طرفہ طاقت کا پتہ لگایا جاسکتا ہے اور اس سے بچنے کے لئے اس کو صاف کیا جاسکتا ہے۔

ہر شکل کی ایک سخت ریاضیاتی تعریف ہوتی ہے ، جیسے کہ فوٹو ہیڈ فوٹو فٹ لائن کا تقاضا ہوتا ہے کہ وہ پورے K لائن کا 90٪ سے زیادہ حصہ بناتا ہے ، اور اوپر اور نیچے کی سائے کی لائن 5٪ سے زیادہ نہیں ہوتی ہے۔ اس طرح کی عین مطابق تعریف سگنل کی وشوسنییتا کو یقینی بناتی ہے۔

ایک ٹرانزیکشن کو محدود کرنے کا طریقہ کار، زیادہ تجارت سے بچنے کے لئے

اسٹریٹجک سیٹ اپ میں زیادہ سے زیادہ بیک وقت تجارت کی تعداد 1 ہے۔ یہ ڈیزائن محافظ نظر آتا ہے ، دراصل یہ خطرے کے انتظام کا نچوڑ ہے۔ اعدادوشمار سے پتہ چلتا ہے کہ ایک ہی وقت میں متعدد اعلی متعلقہ پوزیشن رکھنے سے سسٹم کا خطرہ 2.5 گنا بڑھ جاتا ہے۔ موقع سے محروم رہنا بہتر ہے ، اور نہ ہی اکاؤنٹ کو غیر ضروری خطرہ کا سامنا کرنا پڑتا ہے۔

قابل اطلاق منظر نامہ واضح ہے: رجحان سازی مارکیٹوں کے لئے فائدہ مند ، ہنگامہ خیز مارکیٹوں سے بچنے کی ضرورت ہے

حکمت عملی ایک طرفہ رجحان مارکیٹوں میں بہترین کارکردگی کا مظاہرہ کرتی ہے ، خاص طور پر توڑنے والے حالات میں۔ تاہم ، اس کے نتیجے میں رجحانات کے فلٹر پر انحصار کرنے کی وجہ سے کچھ الٹ مواقع ضائع ہوسکتے ہیں ، خاص طور پر جب یہ ایک طرفہ رجحانات کی مارکیٹوں میں ہوتا ہے۔ یہ مشورہ دیا جاتا ہے کہ احتیاط سے استعمال کیا جائے جب VIX انڈیکس 20 سے کم ہو ، اور اعلی اتار چڑھاؤ والے ماحول میں بہتر کام کرے گا۔

خطرے کی نشاندہی: تاریخی ریٹرن مستقبل کی آمدنی کی نمائندگی نہیں کرتا ، حکمت عملی میں مسلسل نقصان کا خطرہ ہے۔ مختلف مارکیٹ کے حالات میں کارکردگی میں نمایاں فرق ہے ، جس میں سخت فنڈ مینجمنٹ اور رسک کنٹرول کی ضرورت ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-11-11 00:00:00
end: 2025-11-11 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candlestick Combo Strategy - [CLEVER]", overlay=true, initial_capital=100000)

// === User Inputs
sma_len      = input.int(50, "SMA Length", minval=1)
atr_len      = input.int(14, "ATR Length", minval=1)
atr_mult     = input.float(1.5, "ATR Multiplier for pattern size", step=0.1)
rr           = input.float(2.0, "Risk:Reward", step=0.1)
maxOpenTrades = input.int(1, "Max concurrent open trades", minval=1)

// === Indicators / Trend Filter
sma50   = ta.sma(close, sma_len)
myATR   = ta.atr(atr_len)
uptrend = close > sma50
downtrend = close < sma50

// === Helper: Safe indexing
hasHistory(bars) =>
    bar_index >= bars

// === Candlestick Patterns ===

// Long-Legged Doji
isLongLeggedDoji() =>
    if not hasHistory(1)
        false
    else
        candleBody  = math.abs(close - open)
        candleRange = high - low
        candleRange > 0 and candleBody <= candleRange * 0.20 and 
         (high - math.max(open, close)) >= candleRange * 0.40 and 
         (math.min(open, close) - low) >= candleRange * 0.40

// Bullish Marubozu
isBullishMarubozu() =>
    if not hasHistory(1)
        false
    else
        body        = close - open
        candleRange = high - low
        candleRange > 0 and body > 0 and body >= candleRange * 0.90 and 
         (high - close) <= candleRange * 0.05 and 
         (open - low)  <= candleRange * 0.05

// Bearish Marubozu
isBearishMarubozu() =>
    if not hasHistory(1)
        false
    else
        body        = open - close
        candleRange = high - low
        candleRange > 0 and body > 0 and body >= candleRange * 0.90 and 
         (open - high) <= candleRange * 0.05 and 
         (close - low) <= candleRange * 0.05

// Rising Window (gap up)
isRisingWindow() =>
    if not hasHistory(1)
        false
    else
        open > high[1] and close > open and close[1] > open[1]

// Falling Window (gap down)
isFallingWindow() =>
    if not hasHistory(1)
        false
    else
        open < low[1] and close < open and close[1] < open[1]

// Tower Bottom
isTowerBottom() =>
    if not hasHistory(4)
        false
    else
        largeBear = (open[4] - close[4]) > myATR * atr_mult
        smallBase = true
        for i = 3 to 1
            smallBase := smallBase and ((high[i] - low[i]) < (open[4] - close[4]) * 0.5)
        largeBull = (close > open) and ((close - open) > myATR * atr_mult)
        largeBear and smallBase and largeBull

// Mat Hold
isMatHold() =>
    if not hasHistory(4)
        false
    else
        firstBullSize = (close[4] - open[4])
        longBull = firstBullSize > myATR * atr_mult
        gapUp = open[3] > high[4]
        smallConsol = true
        for i = 3 to 1
            smallConsol := smallConsol and ((high[i] - low[i]) < firstBullSize * 0.3) and low[i] > low[4]
        finalBull = (close > open) and ((close - open) > firstBullSize * 0.8)
        longBull and gapUp and smallConsol and finalBull

// Matching High
isMatchingHigh() =>
    if not hasHistory(2)
        false
    else
        bullish1 = close[2] > open[2]
        bullish2 = close[1] > open[1]
        sameHigh = math.abs(high[2] - high[1]) <= myATR * 0.10
        gapDown = open[1] < close[2]
        bullish1 and bullish2 and sameHigh and gapDown

// === Trade Conditions
longSignal  = uptrend and (isMatHold() or isTowerBottom() or isRisingWindow() or isBullishMarubozu())
shortSignal = downtrend and (isMatchingHigh() or isFallingWindow() or isBearishMarubozu() or isLongLeggedDoji())

// Plot signals on chart
plotshape(longSignal,  title="Long Signal",  style=shape.triangleup,   location=location.belowbar, color=color.new(color.lime, 0), size=size.tiny)
plotshape(shortSignal, title="Short Signal", style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny)

// === Entry / Exit Logic with maxOpenTrades gating
canEnter() =>
    strategy.opentrades < maxOpenTrades

if (longSignal and canEnter())
    stopLevel = ta.lowest(low, 10)
    risk = close - stopLevel
    target = close + risk * rr
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=stopLevel, limit=target)

if (shortSignal and canEnter())
    stopLevel = ta.highest(high, 10)
    risk = stopLevel - close
    target = close - risk * rr
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=stopLevel, limit=target)