متعدد پیٹرن کی شناخت اور SR پرسنٹائل تجارتی حکمت عملی

SR BP TP FIBO ATR SMA
تخلیق کی تاریخ: 2024-12-05 16:30:14 آخر میں ترمیم کریں: 2024-12-05 16:30:14
کاپی: 0 کلکس کی تعداد: 400
1
پر توجہ دیں
1617
پیروکار

متعدد پیٹرن کی شناخت اور SR پرسنٹائل تجارتی حکمت عملی

جائزہ

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

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

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

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

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

اسٹریٹجک رسک

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

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

  1. مارکیٹ کے حالات کو فلٹر کرنے کے لئے اتار چڑھاؤ کے اشارے متعارف کرانے
  2. شکل کی شناخت کی درستگی کو بہتر بنانے کے لئے رجحان فلٹر شامل کریں
  3. معاون مزاحمت کی سطح کو بہتر بنانے کے لئے حساب کتاب کا طریقہ
  4. ٹرانزیکشن انڈیکس کو بطور معاون توثیق شامل کرنا
  5. زیادہ لچکدار روک تھام کا نظام تیار کرنا
  6. مشین لرننگ الگورتھم متعارف کرانے سے شکل کی شناخت کی درستگی میں اضافہ

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Double Bottom with Support/Resistance Strategy - Aynet", overlay=true)

// Inputs
lookbackPeriod = input(21, "Lookback Period")
swingLowThreshold = input(1.5, "Swing Low Threshold")
fibLevel1 = input(0.618, "Fibonacci Level 1")
fibLevel3 = input(1.618, "Fibonacci Level 2")
srPeriod = input(21, "Support/Resistance Period") 
srThreshold = input(3, "Support/Resistance Touch Points")

// Support/Resistance Function
get_sr_level(idx) =>
    var level = 0.0
    var count = 0
    
    if bar_index % srPeriod == 0
        highCount = 0
        lowCount = 0
        for i = 0 to srPeriod - 1
            if math.abs(high[i] - high) < (high * 0.001)
                highCount += 1
            if math.abs(low[i] - low) < (low * 0.001)
                lowCount += 1
                
        if highCount >= srThreshold
            level := high
            count := highCount
        if lowCount >= srThreshold
            level := low
            count := lowCount
            
    [level, count]

// Pattern Detection Functions
isSwingLow(src, left, right) =>
    isLow = true
    for i = 0 to left + right
        if src[i] < src[right]
            isLow := false
    isLow

getSpikeSharpness(index) =>
    priceRange = high[index] - low[index]
    bodyRange = math.abs(close[index] - open[index])
    sharpness = priceRange / bodyRange
    sharpness

// Pattern Variables
var float firstBottom = na
var float secondBottom = na
var bool isAdam = false
var bool isEve = false
var float level1Value = na
var float level3Value = na

// Pattern Detection
bottom = isSwingLow(low, lookbackPeriod, lookbackPeriod)
if bottom
    sharpness = getSpikeSharpness(0)
    if na(firstBottom)
        firstBottom := low
        isAdam := sharpness > swingLowThreshold
    else if low <= firstBottom * 1.02 and low >= firstBottom * 0.98
        secondBottom := low
        isEve := sharpness <= swingLowThreshold

// Calculate Fibonacci
if not na(secondBottom)
    highPoint = ta.highest(high, lookbackPeriod)
    fibDistance = highPoint - math.min(firstBottom, secondBottom)
    level1Value := math.min(firstBottom, secondBottom) + fibDistance * fibLevel1
    level3Value := math.min(firstBottom, secondBottom) + fibDistance * fibLevel3

// Get S/R Level
[srLevel, srCount] = get_sr_level(0)

// Trading Logic
longCondition = srLevel > level3Value
shortCondition = srLevel < level1Value

if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Reset Pattern
if high > ta.highest(high[1], lookbackPeriod)
    firstBottom := na
    secondBottom := na
    isAdam := false
    isEve := false
var table logo = table.new(position.top_right, 1, 1)
table.cell(logo, 0, 0, 'Double Bottom with Support/Resistance Strategy - Aynet', text_size=size.large, text_color=color.white)
// Plots
plot(level1Value, "0.236", color=color.rgb(245, 0, 0), style=plot.style_line)
plot(level3Value, "0.618", color=color.rgb(82, 166, 255), style=plot.style_line)
plot(srLevel, "S/R Level", color=color.white)

plotshape(bottom and not na(firstBottom) and na(secondBottom), "Adam Bottom", shape.circle, location.belowbar, color.green)
plotshape(bottom and not na(secondBottom), "Eve Bottom", shape.circle, location.belowbar, color.yellow)