ملٹی سٹیپ نان پینٹنگ رینکو سمولیشن ٹرینڈ ریورسل مقداری تجارتی حکمت عملی

RENKO RSI SMA EMA VOL BRICK BACKTESTING REPAINTING
تخلیق کی تاریخ: 2025-03-04 10:26:05 آخر میں ترمیم کریں: 2025-03-04 10:26:05
کاپی: 0 کلکس کی تعداد: 547
2
پر توجہ دیں
319
پیروکار

ملٹی سٹیپ نان پینٹنگ رینکو سمولیشن ٹرینڈ ریورسل مقداری تجارتی حکمت عملی ملٹی سٹیپ نان پینٹنگ رینکو سمولیشن ٹرینڈ ریورسل مقداری تجارتی حکمت عملی

حکمت عملی کا جائزہ

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

اہم خصوصیات:

  • ٹائم ٹیبل پر نان ریپراگ رینکو اثر کا حصول
  • بلاک سمت میں تبدیلی کی شناخت کے لئے رجحان الٹ استعمال کریں
  • کثیر مرحلے کی توثیق کے طریقہ کار سے سگنل کے معیار میں اضافہ
  • گرافک طور پر بٹ کی تشکیل کا عمل
  • ریئل ٹائم ٹرانزیکشن کی کارکردگی کے ساتھ مستحکم نتائج

حکمت عملی کا اصول

اس حکمت عملی کا بنیادی اصول معیاری ٹائم چارٹ پر رینکو بلاک کی فعالیت کو نافذ کرنا ہے ، جبکہ روایتی رینکو چارٹ میں دوبارہ پینٹنگ کے مسائل کو حل کرنا ہے۔ اس کے کام کرنے کے اصول مندرجہ ذیل ہیں:

  1. پیرامیٹرز کی ترتیب اور ابتدائیہ:

    • brickSize: بلاک سائز کی وضاحت کریں ، یہ طے کریں کہ نئے بلاک بنانے کے ل price قیمت کو کتنا منتقل کرنا ہوگا
    • renkoPriceاس کے بعد ، آپ کو یہ معلوم ہوگا کہ آپ کو کیا کرنا چاہئے:
    • prevRenkoPrice: Renko کے پچھلے بلاک کی قیمت کی سطح ذخیرہ
    • brickDir: بلاک کی سمت کی پیروی کریں ((1 = اوپر، -1 = نیچے)
    • newBrickبُل کا نشان، نیا بُل بننے یا نہ بننے کا اشارہ
    • brickStart: موجودہ بلاک کے آغاز کے لئے کالم انڈیکس کو ذخیرہ کرتا ہے
  2. رینکو بلاک کی شناخت کا دوبارہ نقشہ نہیں:

    • سسٹم صرف توثیقی کالم پر حساب کتاب کرتا ہے ، اس بات کو یقینی بناتا ہے کہ تاریخی اعداد و شمار کا دوبارہ حساب کتاب نہیں کیا جائے گا
    • پچھلے رینکو بلاک کی سطح سے موجودہ قیمت کے فرق کا حساب لگائیں
    • جب قیمت کا فرق ٹکڑے کے سائز تک پہنچ جاتا ہے یا اس سے زیادہ ہوجاتا ہے تو ، نیا رینکو بلاک بن جاتا ہے
    • قیمتوں میں تبدیلیوں کو قبول کرنے والے بلاکس کی تعداد کے مطابق بلاک قیمت کی سطح کو اپ ڈیٹ کریں
    • نئی بریک کی تشکیل کو ظاہر کرنے کے لئے سمت کو اپ ڈیٹ کریں ((brickDir) اور علامت کو ترتیب دیں ((newBrick)
  3. ٹائم چارٹ پر رینکو کا تصور:

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

    • حکمت عملی نہ صرف موجودہ بلاک کی سمت کی جانچ پڑتال کرتی ہے بلکہ متعدد تاریخی بلاکس کا موازنہ بھی کرتی ہے
    • ایک حقیقی رجحان کی تبدیلی کی تصدیق کرنے کے لئے ایک سے زیادہ بلاکس کی سمت میں تبدیلی کی تصدیق کریں

اسٹریٹجک فوائد

کوڈ کا گہرائی سے تجزیہ کرنے کے بعد ، اس حکمت عملی میں درج ذیل نمایاں فوائد ہیں:

  1. نقشہ سازی کا مسئلہ حل:

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

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

    • حکمت عملی نہ صرف ایک ہی سمت میں تبدیلی کی جانچ پڑتال کرتی ہے ، بلکہ متعدد مسلسل بلاکس کی سمت کی بھی تصدیق کرتی ہے
    • کے ذریعے موازنہbrickDir[brickSize]موجودہ کے ساتھbrickDirاور تاریخی قیمت کی سطح کا رشتہ
    • کثیر مرحلے کی توثیق کے طریقہ کار نے غلط سگنل کو نمایاں طور پر کم کیا
  4. بصری تجارت کی بنیاد:

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

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

اسٹریٹجک رسک

اگرچہ اس حکمت عملی سے نقشہ سازی کا مسئلہ حل ہو گیا ہے ، لیکن اس کے باوجود مندرجہ ذیل خطرات موجود ہیں:

  1. سگنل تاخیر کا خطرہ:

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

    • بہت چھوٹے بلاکس بہت زیادہ ٹریڈنگ سگنل پیدا کرتے ہیں، ٹریڈنگ کی لاگت میں اضافہ کرتے ہیں اور زیادہ تجارت کا سبب بن سکتے ہیں.
    • بہت بڑا بلاک مارکیٹ کے اہم موڑ سے محروم ہوسکتا ہے
    • حل: ٹارگٹ اثاثوں کی اتار چڑھاؤ اور ٹرانزیکشن ٹائم فریم کے مطابق بلاک سائز کو بہتر بنائیں
  3. ٹرینڈ ریورس کے غلط سگنل کا خطرہ:

    • کثیر مرحلے کی توثیق کے استعمال کے باوجود ، شدید اتار چڑھاؤ والی مارکیٹوں میں جعلی بریک کا امکان ہے
    • قیمتوں میں حقیقی رجحانات کی تشکیل سے پہلے ایک سے زیادہ بار بلاک سرحدوں کو عبور کیا جاسکتا ہے
    • حل: اضافی فلٹرز کو شامل کرنے پر غور کریں ، جیسے ٹرانسمیشن کی تصدیق یا ٹرانسمیشن اشارے
  4. واپسی کا خطرہ:

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

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

حکمت عملی کی اصلاح کی سمت

کوڈ تجزیہ کی بنیاد پر ، اس حکمت عملی کے لئے کچھ اہم اصلاحات یہ ہیں:

  1. متحرک بلاک سائز کی اصلاح:

    • موجودہ حکمت عملی ایک مقررہ بلاک سائز کا استعمال کرتا ہے، مارکیٹ میں اتار چڑھاؤ پر مبنی متحرک بلاک سائز میں بہتری
    • کم اتار چڑھاؤ کے دوران چھوٹے بلاکس کا استعمال، اعلی اتار چڑھاؤ کے دوران بڑے بلاکس کا استعمال
    • یہ مختلف مارکیٹ کے حالات کے لئے حکمت عملی کی موافقت میں اضافہ کرے گا
    • عمل درآمد: بلاک کے سائز کو متحرک طور پر ایڈجسٹ کرنے کے لئے اے ٹی آر کا استعمال کریں
  2. ٹرانزیکشن فلٹر شامل کریں:

    • ٹرینڈ ریورس سگنل کی تصدیق کے لئے ٹرانسمیشن یا دیگر متحرک اشارے کا مجموعہ
    • کم لیکویڈیٹی یا انتہائی اتار چڑھاؤ کے حالات میں تجارت سے گریز کریں
    • عمل درآمد کا طریقہ: آر ایس آئی ، ٹرانزیکشن بریک یا ایم اے سی ڈی پر مبنی اضافی تصدیق کی شرائط شامل کریں
  3. نقصانات اور منافع کو روکنے میں بہتری:

    • موجودہ حکمت عملی صرف سمت میں پلٹ کے وقت ہی فولڈنگ کر سکتی ہے اور اس سے ذہین اسٹاپ نقصان اور ہدف منافع کی سطح میں اضافہ ہوسکتا ہے۔
    • متحرک سٹاپ نقصان کی بنیاد پر بلاک کے سائز کے ضرب مقرر کریں
    • عملدرآمد: شامل کریںstrategy.exit()کمانڈ ، اے ٹی آر یا بلاک سائز پر مبنی اسٹاپ نقصان کا تعین کرتا ہے
  4. کثیر مرحلے کی توثیق کے نظام کو بہتر بنائیں:

    • موجودہ حکمت عملی کا استعمال کرتے ہوئے فکسڈbrickSizeتاریخ کے ٹکڑوں کے لئے ضرب
    • بہترین تاریخ کا مطالعہ کرنے کے لئے اقدامات کی تعداد کا موازنہ
    • مختلف مارکیٹوں اور ٹائم فریموں پر نظر ثانی کریں اور بہترین پیرامیٹرز کا مجموعہ تلاش کریں
    • عمل درآمد: پیرامیٹرائزڈ اقدامات کی تعداد ، صارفین کو اپنی مرضی کے مطابق توثیق کی گہرائی کی اجازت دیتا ہے
  5. بصری اور انتباہی نظام میں بہتری:

    • رجحان لائنوں اور اہم سطحوں کو شامل کریں
    • بلاک کی تشکیل اور ٹریڈنگ سگنل کے لئے انتباہ شامل کریں
    • موجودہ رجحان کی شدت اور مدت کو ظاہر کرتا ہے
    • عملدرآمد کا طریقہ:label.new()اورalert()صارف کے تجربے کو بڑھانے کے لئے فنکشن

خلاصہ کریں۔

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

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

رینکو چارٹ کے فوائد کو یکجا کرنے اور اس کے نقصانات سے بچنے کا یہ طریقہ خاص طور پر رجحان کی پیروی اور رجحان کی واپسی کی تجارت کی حکمت عملی کے لئے موزوں ہے ، جس سے تاجروں کو ایک قابل اعتماد تکنیکی تجزیہ کا آلہ فراہم کیا جاتا ہے جو بیک اپ کی درستگی کو برقرار رکھتے ہوئے مستحکم ریئل اسٹیٹ کی کارکردگی فراہم کرتا ہے۔

حکمت عملی کا ماخذ کوڈ
//@version=5
strategy("Non-Repainting Renko Emulation Strategy [PineIndicators]", overlay=true, calc_on_every_tick=false, max_boxes_count = 500, max_labels_count = 500, max_lines_count = 500, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.01, slippage = 2)

// Parameter: Brick-Größe (z.B. 10 Punkte)
brickSize = input.float(3.0, "Brick Size", step=0.1)

// Persistente Variablen
var float renkoPrice     = na    // Aktueller Renko-Level (Schlusswert des letzten Bricks)
var float prevRenkoPrice = na    // Vorheriger Renko-Level (für Box-Berechnung)
var int   brickDir       = 0     // 1 = Aufwärts, -1 = Abwärts
var bool  newBrick       = false // Signalisiert, dass ein neuer Brick abgeschlossen wurde
var int   brickStart     = bar_index  // Beginn des aktuellen Bricks (x-Achse)

// Berechnungen nur auf abgeschlossenen Candles
if barstate.isconfirmed
    newBrick := false
    // Initialisierung: Beim ersten Candle setzen wir den Renko-Level
    if na(renkoPrice)
        renkoPrice := close
        brickStart := bar_index
    // Berechne die Differenz zum letzten Renko-Level
    diff = close - renkoPrice
    // Prüfen, ob der Unterschied mindestens der Brick-Größe entspricht
    if math.abs(diff) >= brickSize
        // Anzahl kompletter Bricks (kann > 1 sein)
        numBricks = math.floor(math.abs(diff) / brickSize)
        prevRenkoPrice := renkoPrice
        // Aktualisieren des Renko-Levels
        renkoPrice := renkoPrice + numBricks * brickSize * math.sign(diff)
        // Brick-Richtung (konvertiere math.sign-Ergebnis in int)
        brickDir := int(math.sign(diff))
        newBrick := true

        // Bestimme die obere und untere Grenze des abgeschlossenen Bricks:
        lowLevel  = brickDir == 1 ? prevRenkoPrice : renkoPrice
        highLevel = brickDir == 1 ? renkoPrice     : prevRenkoPrice

        // Setze den Start für den nächsten Brick
        brickStart := bar_index


// Handelslogik: Einstieg/Ausstieg nur, wenn ein neuer Brick abgeschlossen wurde
if barstate.isconfirmed and newBrick
    // Bei Aufwärts-Brick: Long-Signal
    if brickDir[brickSize] < brickDir and renkoPrice[brickSize] < renkoPrice[brickSize*2] and renkoPrice < renkoPrice[brickSize] and renkoPrice[brickSize*2] < renkoPrice[brickSize*3] and strategy.position_size <= 0
        // Bestehende Short-Position schließen, falls vorhanden
        strategy.entry("Long", strategy.long)

    // Bei Abwärts-Brick: Short-Signal
    else if brickDir[brickSize] > brickDir and renkoPrice[brickSize] > renkoPrice[brickSize*2] and renkoPrice > renkoPrice[brickSize] and renkoPrice[brickSize*2] > renkoPrice[brickSize*3] and strategy.position_size >= 0
        // Bestehende Long-Position schließen, falls vorhanden
        strategy.entry("Short", strategy.short)

if barstate.isconfirmed and newBrick
    if brickDir[brickSize] < brickDir
        strategy.close("Short")

    else if brickDir[brickSize] > brickDir
        strategy.close("Long")