ملٹی ٹائم فریم ویو ٹرینڈ فالوور اسٹریٹیجی

WT MTF WaveTrend ATR Trailing Stop TREND-FOLLOWING HLC3
تخلیق کی تاریخ: 2025-07-07 16:04:18 آخر میں ترمیم کریں: 2025-07-07 16:04:18
کاپی: 0 کلکس کی تعداد: 233
2
پر توجہ دیں
319
پیروکار

ملٹی ٹائم فریم ویو ٹرینڈ فالوور اسٹریٹیجی ملٹی ٹائم فریم ویو ٹرینڈ فالوور اسٹریٹیجی

جائزہ

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

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

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

اس حکمت عملی کو نافذ کرنے کا عمل مندرجہ ذیل ہے:

  1. سب سے پہلے ، WaveTrend فنکشن کی وضاحت کریں ، جو دو اہم اقدار (wt1 اور wt2) کا حساب لگاتا ہے:

    • قیمت کا حساب لگائیں (عام طور پر ایچ ایل سی 3) کے ای ایم اے
    • قیمت اور EMA کے مابین مطلق فرق کی EMA کا حساب لگانا ، اتار چڑھاؤ کی پیمائش کے طور پر
    • تعمیراتی یکسانیت کے لئے نسبتا قیمت انحراف (سی آئی)
    • سی کے لئے ای ایم اے wt1 کے طور پر اور wt1 کے لئے SMA wt2 کے طور پر حساب
  2. حکمت عملی WaveTrend اشارے کو تین ٹائم فریموں پر لاگو کرتی ہے:

    • 15 منٹ کا چارٹ (موجودہ ٹائم فریم) مخصوص سگنل کی تخلیق کے لئے
    • 30 منٹ کا چارٹ درمیانی رفتار کی سمت کی تصدیق کے لئے استعمال کیا جاتا ہے
    • 60 منٹ کا چارٹ طویل مدتی رجحان کا پس منظر پیش کرتا ہے
  3. داخلے کی شرائط:

    • زیادہ کریں: جب 15 منٹ کے چارٹ پر wt1 اوپر کی طرف سے wt2 کو پار کرتا ہے ، اور wt1 کی قیمت 60 سے زیادہ ہے ، جبکہ 30 منٹ کے چارٹ پر اوپر کی طرف بڑھتا ہے (wt1 > wt2)
    • خالی کرنا: جب 15 منٹ کے چارٹ پر wt1 نیچے کی طرف سے wt2 کو پار کرتا ہے ، اور wt1 کی قیمت 20 سے کم ہے ، جبکہ 30 منٹ کے چارٹ پر نیچے کی طرف رجحان ہے ((wt1 < wt2)
  4. سٹاپ نقصان اور آؤٹ پٹ کے طریقہ کار کا ایک مجموعہ ہے:

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

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

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

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

  3. بصری آراء کا نظام: تجارت میں داخلے اور باہر نکلنے کے مقامات کو چارٹ پر رنگین لیبل ((🔴) کے ذریعہ بصری طور پر نشان زد کیا گیا ہے ، اور اس میں کالم کی معلومات شامل ہیں ، جس سے تجزیہ اور تجارت کی بحالی میں آسانی ہوتی ہے۔

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

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

اسٹریٹجک رسک

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

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

  3. پیرامیٹر کی حساسیت: حکمت عملی کی کارکردگی WaveTrend کے پیرامیٹرز کی ترتیب ((n1 = 10 ، n2 = 21) اور اسٹاپ نقصان کے پیرامیٹرز کے لئے کافی حساس ہے۔ زیادہ نرمی والے پیرامیٹرز دیر سے روکنے کا سبب بن سکتے ہیں ، اور زیادہ سخت پیرامیٹرز فائدہ مند رجحان سے پہلے ہی باہر نکل سکتے ہیں۔ ان پیرامیٹرز کو تاریخی پس منظر کے ذریعے بہتر بنانے کی ضرورت ہے۔

  4. لیکویڈیٹی کا خطرہ: کوڈ میں ڈیفالٹ کے طور پر رشتہ دار فنڈ کی رقم ((10٪) کا استعمال کرتے ہوئے تجارت کی جاتی ہے ، لیکن کم لیکویڈیٹی والے بازاروں میں ، اس سے پوائنٹس میں اضافے یا تجارت میں دشواری کا سبب بن سکتا ہے۔ پوزیشن کا سائز اصل تجارت شدہ اقسام کی لیکویڈیٹی کے مطابق ایڈجسٹ کیا جانا چاہئے۔

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

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

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

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

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

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

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

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

خلاصہ کریں۔

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

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

//@version=5
strategy("WT-FLOW: MTF WaveTrend Trend-Follower", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === WaveTrend Fonksiyonu ===
waveTrend(_src, _n1, _n2) =>
    esa = ta.ema(_src, _n1)
    d = ta.ema(math.abs(_src - esa), _n1)
    ci = (_src - esa) / (0.015 * d)
    wt1 = ta.ema(ci, _n2)
    wt2 = ta.sma(wt1, 4)
    [wt1, wt2]

// === Giriş Fiyatı ve Maksimum Kazanç Değişkenleri ===
var float longEntryPrice = na
var float shortEntryPrice = na
var float maxGainLong = 0.0
var float maxGainShort = 0.0
var int longEntryBar = na
var int shortEntryBar = na
var string currentPosition = ""

// === WT Değerlerini Al (Farklı Zaman Dilimleri) ===
var int n1 = 10
var int n2 = 21
ap = hlc3
[wt1_15, wt2_15] = waveTrend(ap, n1, n2)
[wt1_30, wt2_30] = request.security(syminfo.tickerid, "30", waveTrend(ap, n1, n2))
[wt1_60, wt2_60] = request.security(syminfo.tickerid, "60", waveTrend(ap, n1, n2))

// === Kullanıcı Girdileri: Trailing Stop Parametreleri ===
marginStopPerc = input.float(2.0, "Marjinal Stop (%)")
trailTriggerPerc = input.float(1.5, "Trailing Tetikleyici (%)")
trailFollowPerc = input.float(0.8, "Trailing Takip (%)")
trailMaxDropPerc = input.float(3.0, "Maksimum Düşüş (%)")

// === ATR için tr hesaplaması ===
tr = ta.tr(true)

// === Sinyal Koşulları ===
trendUp = wt1_30 > wt2_30
trendDown = wt1_30 < wt2_30
entryLong = ta.crossover(wt1_15, wt2_15) and wt1_15 > -60 and trendUp
entryShort = ta.crossunder(wt1_15, wt2_15) and wt1_15 < 20 and trendDown

// === Pozisyon Girişleri ===
if entryLong and currentPosition != "Long"
    strategy.entry("Long", strategy.long)
    longEntryPrice := close
    maxGainLong := 0.0
    longEntryBar := bar_index
    currentPosition := "Long"
    label.new(bar_index, high + 2 * tr, "🟢 Giriş Long #" + str.tostring(bar_index), style=label.style_label_up, color=color.green, textcolor=color.white)

if entryShort and currentPosition != "Short"
    strategy.entry("Short", strategy.short)
    shortEntryPrice := close
    maxGainShort := 0.0
    shortEntryBar := bar_index
    currentPosition := "Short"
    label.new(bar_index, low - 2 * tr, "🔴 Giriş Short #" + str.tostring(bar_index), style=label.style_label_down, color=color.red, textcolor=color.white)

// === Trailing Stop ve Marjinal Stop Seviyeleri ===
if currentPosition == "Long" and not na(longEntryPrice)
    gainFromEntry = (close - longEntryPrice) / longEntryPrice * 100
    maxGainLong := math.max(maxGainLong, gainFromEntry)
    trailTriggerReached = gainFromEntry >= trailTriggerPerc
    trailStop = close * (1 - trailFollowPerc / 100)
    dropStop = longEntryPrice * (1 + (maxGainLong - trailMaxDropPerc) / 100)
    finalStop = trailTriggerReached ? math.max(trailStop, dropStop) : longEntryPrice * (1 - marginStopPerc / 100)
    if close <= finalStop
        strategy.close("Long")
        label.new(bar_index, low - 2 * tr, "❅ Çıkış Long #" + str.tostring(longEntryBar), style=label.style_label_down, color=color.red, textcolor=color.white)
        longEntryPrice := na
        longEntryBar := na
        currentPosition := ""

if currentPosition == "Short" and not na(shortEntryPrice)
    gainFromEntryShort = (shortEntryPrice - close) / shortEntryPrice * 100
    maxGainShort := math.max(maxGainShort, gainFromEntryShort)
    trailTriggerReachedShort = gainFromEntryShort >= trailTriggerPerc
    trailStopShort = close * (1 + trailFollowPerc / 100)
    dropStopShort = shortEntryPrice * (1 - (maxGainShort - trailMaxDropPerc) / 100)
    finalStopShort = trailTriggerReachedShort ? math.min(trailStopShort, dropStopShort) : shortEntryPrice * (1 + marginStopPerc / 100)
    if close >= finalStopShort
        strategy.close("Short")
        label.new(bar_index, high + 2 * tr, "❄ Çıkış Short #" + str.tostring(shortEntryBar), style=label.style_label_up, color=color.green, textcolor=color.white)
        shortEntryPrice := na
        shortEntryBar := na
        currentPosition := ""