
ملٹی ٹائم فریم ویو ٹرینڈ ٹریکر حکمت عملی ایک ملٹی ٹائم فریم ٹرینڈ ٹریڈنگ سسٹم ہے جو ویو ٹرینڈ اشارے پر مبنی ہے۔ اس حکمت عملی کو خاص طور پر 15 منٹ کے ٹائم فریم کے لئے بہتر بنایا گیا ہے ، جس میں تین درجے کے ٹائم فریم سیدھ کا طریقہ استعمال کیا گیا ہے۔ 240 منٹ ویو ٹرینڈ میکرو ٹرینڈ فلٹر کے طور پر کام کرتا ہے ، 30 منٹ ویو ٹرینڈ حرکیات کی تصدیق کے لئے استعمال کیا جاتا ہے ، اور 15 منٹ ویو ٹرینڈ سگنل جنریشن کے لئے ذمہ دار ہے۔ حکمت عملی کا بنیادی مقصد مختلف ٹائم فریموں پر ویو ٹرینڈ اشارے کے کراس کو پہچان کر انٹری اور آؤٹ پٹ پوائنٹس کی نشاندہی کرنا ہے ، جبکہ اعلی درجے کی ٹریکنگ اسٹاپ نقصانات کے طریقہ کار کو جوڑ کر ، بشمول زیادہ سے زیادہ منافع پر مبنی ٹریکنگ منطق اور فیصد پر مبنی واپسی رواداری ، منافع کو زیادہ سے زیادہ بنانے اور خطرے کو مؤثر طریقے سے کنٹرول کرنے کے لئے۔
اس حکمت عملی کا بنیادی اصول یہ ہے کہ WaveTrend اشارے کو متعدد ٹائم فریموں پر ہم آہنگی کے ساتھ استعمال کیا جائے تاکہ رجحان کی سمت اور موڑ کی شناخت کی جاسکے۔ WaveTrend اشارے خود ہی ایک تکنیکی اشارے ہے جس میں قیمتوں کے مابین اس کی اشاریہ کی حرکت پذیری اوسط ((EMA) کے مابین تعلقات کا حساب لگایا جاتا ہے ، پھر اس میں اتار چڑھاؤ کے عوامل کے ساتھ مل کر قیمتوں میں اوور بیئر اور اوور سیل کی پیمائش کی جاتی ہے۔
اس حکمت عملی کو نافذ کرنے کا عمل مندرجہ ذیل ہے:
سب سے پہلے ، WaveTrend فنکشن کی وضاحت کریں ، جو دو اہم اقدار (wt1 اور wt2) کا حساب لگاتا ہے:
حکمت عملی WaveTrend اشارے کو تین ٹائم فریموں پر لاگو کرتی ہے:
داخلے کی شرائط:
سٹاپ نقصان اور آؤٹ پٹ کے طریقہ کار کا ایک مجموعہ ہے:
حکمت عملی ہر تجارت کے داخلے کی قیمت ، داخلے کے ستون اور زیادہ سے زیادہ منافع کی شرح کو ریکارڈ اور ٹریک کرتی ہے ، جس کے پیرامیٹرز کو باہر نکلنے کے مقام کو متحرک طور پر ایڈجسٹ کرنے کے لئے استعمال کیا جاتا ہے۔
ملٹی ٹائم فریم ورک: مختلف ٹائم فریموں پر ویو ٹرینڈ اشارے کا تجزیہ کرکے ، حکمت عملی مارکیٹ کے رجحانات کو زیادہ جامع طور پر پکڑنے ، جعلی سگنل کی مداخلت کو کم کرنے اور تجارت کی درستگی کو بہتر بنانے میں کامیاب ہے۔ کم ٹائم فریموں میں داخل ہونے کا ایک درست نقطہ فراہم کیا جاتا ہے ، اور اعلی ٹائم فریموں میں اس بات کو یقینی بنایا جاتا ہے کہ تجارت کا رخ مرکزی رجحان کے مطابق ہو۔
متحرک سٹاپ نقصان میکانزماس حکمت عملی میں ٹرپل اسٹاپ پروٹیکشن سسٹم کا استعمال کیا گیا ہے ، جس میں فکسڈ فیصد اسٹاپ ، منافع پر مبنی ٹریکنگ اسٹاپ اور زیادہ سے زیادہ منافع کے تحفظ کا میکانزم شامل ہے۔ یہ جامع اسٹاپ اسٹریٹجی فنڈز کی حفاظت کے ساتھ ساتھ رجحان میں زیادہ سے زیادہ منافع حاصل کرنے میں کامیاب ہے۔
بصری آراء کا نظام: تجارت میں داخلے اور باہر نکلنے کے مقامات کو چارٹ پر رنگین لیبل ((🔴) کے ذریعہ بصری طور پر نشان زد کیا گیا ہے ، اور اس میں کالم کی معلومات شامل ہیں ، جس سے تجزیہ اور تجارت کی بحالی میں آسانی ہوتی ہے۔
پیرامیٹرز لچکدار ہیں: حکمت عملی کئی حسب ضرورت پیرامیٹرز فراہم کرتی ہے ، بشمول ٹریکنگ اسٹاپ نقصان کا ٹرگر فی صد ، ٹریکنگ فالو اپ فی صد اور زیادہ سے زیادہ اجازت شدہ واپسی فی صد ، جو صارف اپنے خطرے کی ترجیحات اور مارکیٹ کی صورتحال کے مطابق ایڈجسٹ کرسکتا ہے۔
کوڈ کی ساخت واضح ہے: حکمت عملی ایک فنکشنل ڈیزائن ہے ، جس میں ہر حصے کی منطق واضح ہے ، اسے سمجھنے اور برقرار رکھنے میں آسان ہے ، جبکہ اس میں مزید اصلاح اور توسیع کی سہولت بھی ہے۔
رجحان کا ردعمل: ایک رجحان کی پیروی کی حکمت عملی کے طور پر ، رجحان کے موڑ کے مقامات پر تاخیر کا ردعمل ہوسکتا ہے ، جس کے نتیجے میں جب مارکیٹ میں ردوبدل ہوتا ہے تو اس میں ایک بڑی واپسی ہوتی ہے۔ اس کا حل یہ ہے کہ اسٹاپ نقصان کی پیروی کرنے والے پیرامیٹرز کو ایڈجسٹ کیا جائے یا اس کی مدد کے لئے اضافی رجحان موڑ کے اشارے شامل کیے جائیں۔
غیر مستحکم مارکیٹ کی کارکردگی: افقی صفائی یا شدید اتار چڑھاؤ والی مارکیٹ کے ماحول میں ، حکمت عملی میں اکثر غلط سگنل اور اسٹاپ نقصان پیدا ہوسکتا ہے ، جس سے مسلسل نقصان ہوتا ہے۔ اس حکمت عملی کو صرف اس وقت چالو کرنے کی سفارش کی جاتی ہے جب مارکیٹ واضح رجحان میں ہے۔
پیرامیٹر کی حساسیت: حکمت عملی کی کارکردگی WaveTrend کے پیرامیٹرز کی ترتیب ((n1 = 10 ، n2 = 21) اور اسٹاپ نقصان کے پیرامیٹرز کے لئے کافی حساس ہے۔ زیادہ نرمی والے پیرامیٹرز دیر سے روکنے کا سبب بن سکتے ہیں ، اور زیادہ سخت پیرامیٹرز فائدہ مند رجحان سے پہلے ہی باہر نکل سکتے ہیں۔ ان پیرامیٹرز کو تاریخی پس منظر کے ذریعے بہتر بنانے کی ضرورت ہے۔
لیکویڈیٹی کا خطرہ: کوڈ میں ڈیفالٹ کے طور پر رشتہ دار فنڈ کی رقم ((10٪) کا استعمال کرتے ہوئے تجارت کی جاتی ہے ، لیکن کم لیکویڈیٹی والے بازاروں میں ، اس سے پوائنٹس میں اضافے یا تجارت میں دشواری کا سبب بن سکتا ہے۔ پوزیشن کا سائز اصل تجارت شدہ اقسام کی لیکویڈیٹی کے مطابق ایڈجسٹ کیا جانا چاہئے۔
بیرونی ڈیٹا انحصار کی درخواستحکمت عملی: request.security() فنکشن کا استعمال کرتے ہوئے اعلی ٹائم فریم ڈیٹا حاصل کریں ، جس سے بعض تجارتی پلیٹ فارمز پر تاخیر یا ڈیٹا کی عدم دستیابی کا خطرہ ہوسکتا ہے۔ اس بات کو یقینی بنائیں کہ تجارتی ماحول کثیر ٹائم فریم ڈیٹا کی درخواستوں کی حمایت کرتا ہے۔
متحرک پیرامیٹرز ایڈجسٹمنٹ: موجودہ حکمت عملی میں WaveTrend پیرامیٹرز اور اسٹاپ تناسب کا استعمال کیا جاتا ہے ، اور مارکیٹ میں اتار چڑھاؤ (جیسے اے ٹی آر) کے مطابق ان پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے پر غور کیا جاسکتا ہے۔ مثال کے طور پر ، اعلی اتار چڑھاؤ والے ماحول میں اسٹاپ فاصلہ بڑھائیں ، اور کم اتار چڑھاؤ والے ماحول میں اسٹاپ کو سخت کریں ، تاکہ مارکیٹ کے مختلف حالات کے مطابق ڈھال سکیں۔
بڑھتی ہوئی رجحان کی طاقت فلٹرنگ: رجحان کی طاقت کی پیمائش کرنے کے لئے ADX یا اسی طرح کے اشارے شامل کیے جاسکتے ہیں ، اور صرف اس وقت ہی تجارت کی جاتی ہے جب رجحان کی طاقت کسی خاص حد سے تجاوز کر جاتی ہے ، تاکہ کمزور رجحان یا افقی مارکیٹ میں زیادہ تجارت سے بچا جاسکے۔
وقت کے فریم کو بہتر بنانے کا انتخاب: موجودہ حکمت عملی 15 منٹ ، 30 منٹ اور 60 منٹ کے ٹائم فریم کا استعمال کرتی ہے ، جس میں بیک اپ تجزیہ کے ذریعہ ٹائم فریم کا بہترین مجموعہ تلاش کیا جاسکتا ہے ، یا مختلف تجارتی اقسام کی خصوصیات کے مطابق ٹائم فریم کو ایڈجسٹ کیا جاسکتا ہے۔
ٹرانزیکشن کی تصدیق میں شامل ہوں: ٹرانزیکشن کے اشارے کو داخلے کی شرائط میں ضم کریں ، اس بات کو یقینی بنائیں کہ صرف ٹرانزیکشن کی حمایت والے رجحانات میں داخلے ، سگنل کے معیار کو بہتر بنائیں۔
میچوں میں کھیلنے کے طریقہ کار میں بہتری: موجودہ آؤٹ پٹ بنیادی طور پر اسٹاپ نقصان کے محرک پر انحصار کرتا ہے ، منافع کے اہداف کو شامل کرنے یا WaveTrend اشارے پر مبنی الٹ سگنل کو خود ہی فعال آؤٹ پٹ کی شرط کے طور پر غور کیا جاسکتا ہے ، نہ کہ صرف غیر فعال اسٹاپ نقصان پر انحصار کرنا۔
پوزیشن مینجمنٹ منطق شامل کریں: موجودہ حکمت عملی میں فکسڈ فی صد فنڈ مینجمنٹ کا استعمال کیا جاتا ہے ، جس میں پوزیشن سائز کو متحرک طور پر اتار چڑھاؤ یا سگنل کی طاقت پر مبنی ایڈجسٹ کرنے پر غور کیا جاسکتا ہے ، زیادہ یقین دہانی کے ساتھ تجارت میں پوزیشن میں اضافہ ہوتا ہے ، اور غیر یقینی صورتحال کے ساتھ تجارت میں خطرے کے سوراخ کو کم کیا جاتا ہے۔
ملٹی ٹائم فریم ویو ٹرینڈ ٹریکر حکمت عملی ایک اچھی طرح سے ڈیزائن کیا گیا ٹرینڈ ٹریکنگ سسٹم ہے جو ملٹی ٹائم فریم ویو ٹرینڈ اشارے کے ہم آہنگی سے کام کرتا ہے ، لچکدار ٹریکنگ اسٹاپ نقصان کے طریقہ کار کے ساتھ مل کر ، مارکیٹ کے رجحانات کو مؤثر طریقے سے پکڑتا ہے اور خطرے پر قابو پاتا ہے۔ اس حکمت عملی کے بنیادی فوائد اس کے جامع مارکیٹ کے نقطہ نظر اور متحرک خطرے کے انتظام کے طریقوں میں ہیں ، لیکن اتار چڑھاؤ کی منڈیوں میں اس کو چیلنج کیا جاسکتا ہے۔ اس حکمت عملی میں مزید استحکام ، متحرک پیرامیٹر ایڈجسٹمنٹ اور اضافی فلٹرنگ شرائط کو شامل کرنے کے ساتھ ساتھ ٹائم فریم کا انتخاب کرکے ، ایک زیادہ مستحکم اور لچکدار تجارتی نظام بننے کی صلاحیت ہے۔ پیشہ ور تاجروں کے لئے ، یہ ایک گہرائی سے تحقیق اور تخصیص کردہ رجحان ٹریکنگ فریم ورک ہے۔
/*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 := ""