اسی طرح کی مستطیل اونچائی پیٹرن کوانٹیفیکیشن کی حکمت عملی

RSI SMA 趋势分析 矩形模式识别 价格波动 成交量 技术指标 止损 止盈 高度模式 回调分析
تخلیق کی تاریخ: 2025-03-26 11:44:39 آخر میں ترمیم کریں: 2025-03-26 11:44:39
کاپی: 0 کلکس کی تعداد: 320
2
پر توجہ دیں
319
پیروکار

اسی طرح کی مستطیل اونچائی پیٹرن کوانٹیفیکیشن کی حکمت عملی اسی طرح کی مستطیل اونچائی پیٹرن کوانٹیفیکیشن کی حکمت عملی

جائزہ

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

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

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

  1. اونچائی پیٹرن کی شناختحکمت عملی بنیادی طور پر دو قسم کے اونچائی کے ماڈل پر توجہ دیتی ہے - بنیادی اونچائی ((صارف کی طرف سے اپنی مرضی کے مطابق قیمت کا فیصد) اور واپسی کی اونچائی ((صارف کی طرف سے بھی وضاحت کی گئی چھوٹی فیصد) ۔ سسٹم متحرک طور پر ان اونچائی کی اقدار کا حساب لگاتا ہے تاکہ وہ مختلف مارکیٹ کے حالات کے مطابق ہو۔

  2. ملٹی موڈ کا پتہ لگانے

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

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

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

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

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

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

  1. غیر جانبدار سگنل جنریٹر: ریاضیاتی حساب کتاب اور واضح طور پر بیان کردہ ہندسی تعلقات پر مبنی ، جس سے تجارتی فیصلوں کو زیادہ منظم اور یکساں بنایا جاسکتا ہے ، جس سے موضوعی فیصلوں کا اثر کم ہوتا ہے۔

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

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

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

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

  6. پیرامیٹرک ڈیزائنحکمت عملی: حکمت عملی میں متعدد سایڈست پیرامیٹرز پیش کیے گئے ہیں جو تاجر کو مخصوص مارکیٹ کے حالات اور ذاتی خطرے کی ترجیحات کے مطابق بہتر بنانے کی اجازت دیتے ہیں۔

  7. متعدد نمونوں کی شناختاس کے علاوہ ، یہ ایک بہت ہی اہم ٹرینڈ کی نشاندہی کرتا ہے ، اور اس کے ساتھ ساتھ رجحانات میں واپسی کے مواقع کو بھی پکڑتا ہے ، جس سے زیادہ تجارت کے داخلے کے مقامات فراہم ہوتے ہیں۔

اسٹریٹجک رسک

اس حکمت عملی کے بہت سے فوائد کے باوجود ، اس میں ممکنہ خطرات بھی شامل ہیں:

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

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

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

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

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

  6. سٹاپ نقصان روکنے کے جامد ترتیب: واپسی کی اونچائی اور بنیادی اونچائی کا استعمال کرتے ہوئے فکسڈ اسٹاپ اور اسٹاپ کے طور پر لچکدار نہیں ہوسکتا ہے۔ مارکیٹ میں اتار چڑھاؤ یا معاون مزاحمت کی سطح پر مبنی متحرک اسٹاپ اور اسٹاپ کا طریقہ کار متعارف کرایا جاسکتا ہے۔

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

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

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

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

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

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

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

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

  7. کارکردگی کو بہتر بناناماڈل کی شناخت کے الگورتھم کو دوبارہ ترتیب دیں ، جوڑے کے چکر اور دوبارہ حساب کتاب کو کم کریں ، اور حقیقی وقت کے ماحول میں حکمت عملی پر عملدرآمد کی رفتار کو بہتر بنائیں۔

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

خلاصہ کریں۔

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

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

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

//@version=5
strategy("Similar Rectangle Heights - Strategy", overlay=true)

// Strategy parameters
lookbackPeriod = input.int(45, "Analysis period", minval=10)
primaryHeightPercent = input.float(5.0, "Primary height (% of price)", minval=0.5, maxval=20.0, step=0.5)
correctionHeightPercent = input.float(2.2, "Correction height (% of price)", minval=0.5, maxval=10.0, step=0.5)
minPatternBars = input.int(5, "Minimum pattern width (candles)", minval=3)
maxPatternBars = input.int(14, "Maximum pattern width (candles)", minval=5)
useVolume = input.bool(false, "Include volume")
useRSI = input.bool(true, "Include RSI")
rsiPeriod = input.int(23, "RSI period", minval=5)
rsiOverbought = input.int(55, "RSI overbought level", minval=50, maxval=90)
rsiOversold = input.int(50, "RSI oversold level", minval=10, maxval=50)

// Calculate primary height and correction height in price points
avgPrice = ta.sma(close, lookbackPeriod)
primaryHeight = avgPrice * primaryHeightPercent / 100
correctionHeight = avgPrice * correctionHeightPercent / 100

// Calculate RSI
rsi = ta.rsi(close, rsiPeriod)

// Function to detect a bullish pattern
bullishPattern(idx) =>
    // Check if there is a low followed by a rise of a specified height
    lowestLow = ta.lowest(low, minPatternBars)[idx]
    highAfterLow = ta.highest(high, minPatternBars)[idx]
    patternHeight = highAfterLow - lowestLow
    
    // Check if pattern height matches the primary height
    heightMatch = math.abs(patternHeight - primaryHeight) <= primaryHeight * 0.2
    
    // Check if pattern width is within range
    patternWidth = 0
    for i = 0 to maxPatternBars - 1
        if idx + i < lookbackPeriod and low[idx + i] == lowestLow
            for j = i to maxPatternBars - 1
                if idx + j < lookbackPeriod and high[idx + j] == highAfterLow
                    patternWidth := j - i + 1
                    break
            break
    
    widthMatch = patternWidth >= minPatternBars and patternWidth <= maxPatternBars
    
    // Check volume and RSI conditions
    volumeCondition = not useVolume or volume > ta.sma(volume, lookbackPeriod)
    rsiCondition = not useRSI or rsi[idx] < rsiOversold
    
    // Return true if all conditions are met
    heightMatch and widthMatch and volumeCondition and rsiCondition

// Function to detect a bearish pattern
bearishPattern(idx) =>
    // Check if there is a high followed by a drop of a specified height
    highestHigh = ta.highest(high, minPatternBars)[idx]
    lowAfterHigh = ta.lowest(low, minPatternBars)[idx]
    patternHeight = highestHigh - lowAfterHigh
    
    // Check if pattern height matches the primary height
    heightMatch = math.abs(patternHeight - primaryHeight) <= primaryHeight * 0.2
    
    // Check if pattern width is within range
    patternWidth = 0
    for i = 0 to maxPatternBars - 1
        if idx + i < lookbackPeriod and high[idx + i] == highestHigh
            for j = i to maxPatternBars - 1
                if idx + j < lookbackPeriod and low[idx + j] == lowAfterHigh
                    patternWidth := j - i + 1
                    break
            break
    
    widthMatch = patternWidth >= minPatternBars and patternWidth <= maxPatternBars
    
    // Check volume and RSI conditions
    volumeCondition = not useVolume or volume > ta.sma(volume, lookbackPeriod)
    rsiCondition = not useRSI or rsi[idx] > rsiOverbought
    
    // Return true if all conditions are met
    heightMatch and widthMatch and volumeCondition and rsiCondition

// Function to detect a bullish correction in an uptrend
bullishCorrection(idx) =>
    // Check if there is a pullback of correction height after a rise
    highBeforeCorrection = ta.highest(high, minPatternBars)[idx]
    lowDuringCorrection = ta.lowest(low, minPatternBars)[idx]
    correctionSize = highBeforeCorrection - lowDuringCorrection
    
    // Check if correction height matches expected height
    heightMatch = math.abs(correctionSize - correctionHeight) <= correctionHeight * 0.2
    
    // Check if correction width is within range
    correctionWidth = 0
    for i = 0 to maxPatternBars - 1
        if idx + i < lookbackPeriod and high[idx + i] == highBeforeCorrection
            for j = i to maxPatternBars - 1
                if idx + j < lookbackPeriod and low[idx + j] == lowDuringCorrection
                    correctionWidth := j - i + 1
                    break
            break
    
    widthMatch = correctionWidth >= minPatternBars / 2 and correctionWidth <= maxPatternBars / 2
    
    // Check if we are in an uptrend
    uptrend = ta.sma(close, lookbackPeriod)[idx] > ta.sma(close, lookbackPeriod)[idx + minPatternBars]
    
    // Return true if all conditions are met
    heightMatch and widthMatch and uptrend

// Function to detect a bearish correction in a downtrend
bearishCorrection(idx) =>
    // Check if there is a pullback of correction height after a drop
    lowBeforeCorrection = ta.lowest(low, minPatternBars)[idx]
    highDuringCorrection = ta.highest(high, minPatternBars)[idx]
    correctionSize = highDuringCorrection - lowBeforeCorrection
    
    // Check if correction height matches expected height
    heightMatch = math.abs(correctionSize - correctionHeight) <= correctionHeight * 0.2
    
    // Check if correction width is within range
    correctionWidth = 0
    for i = 0 to maxPatternBars - 1
        if idx + i < lookbackPeriod and low[idx + i] == lowBeforeCorrection
            for j = i to maxPatternBars - 1
                if idx + j < lookbackPeriod and high[idx + j] == highDuringCorrection
                    correctionWidth := j - i + 1
                    break
            break
    
    widthMatch = correctionWidth >= minPatternBars / 2 and correctionWidth <= maxPatternBars / 2
    
    // Check if we are in a downtrend
    downtrend = ta.sma(close, lookbackPeriod)[idx] < ta.sma(close, lookbackPeriod)[idx + minPatternBars]
    
    // Return true if all conditions are met
    heightMatch and widthMatch and downtrend

// Detecting signals
var float entryPrice = na
var float stopLoss = na
var float takeProfit = na

// Buy signal
buySignal = false
for i = 0 to 3
    if bullishPattern(i) or (i > 0 and bullishCorrection(i))
        buySignal := true
        break

// Sell signal
sellSignal = false
for i = 0 to 3
    if bearishPattern(i) or (i > 0 and bearishCorrection(i))
        sellSignal := true
        break

// Execute strategy
if buySignal
    entryPrice := close
    stopLoss := close - correctionHeight
    takeProfit := close + primaryHeight
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=stopLoss, limit=takeProfit)

if sellSignal
    entryPrice := close
    stopLoss := close + correctionHeight
    takeProfit := close - primaryHeight
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=stopLoss, limit=takeProfit)