ڈبل حرکت پذیر اوسط چینل ٹریڈنگ کی حکمت عملی ایک رجحان ٹریڈنگ کی حکمت عملی ہے جو ڈبل حرکت پذیر اوسط کے مابین کراس اوورز کو ٹریک کرتی ہے۔ یہ حکمت عملی تیزی سے چلنے والی اوسط (ای ایم اے) اور وزن شدہ چلنے والی اوسط (ڈبلیو ایم اے) کو تجارتی سگنل اشارے کے طور پر استعمال کرتی ہے۔ جب قلیل مدتی ای ایم اے طویل مدتی ڈبلیو ایم اے سے تجاوز کرتا ہے تو ، حکمت عملی طویل ہوجاتی ہے۔ جب قلیل مدتی ای ایم اے طویل مدتی ڈبلیو ایم اے سے نیچے عبور کرتی ہے تو ، حکمت عملی مختصر ہوجاتی ہے۔
اس حکمت عملی کے تجارتی سگنل 10 مدت کے قلیل مدتی ای ایم اے اور 20 مدت کے طویل مدتی ڈبلیو ایم اے کے مابین سنہری کراس اور موت کے کراس سے آتے ہیں۔ جب قلیل مدتی ای ایم اے طویل مدتی ڈبلیو ایم اے سے اوپر عبور کرتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ مارکیٹ اوپر کی طرف مڑ رہی ہے ، اس طرح طویل عرصے تک جا رہی ہے۔ جب قلیل مدتی ای ایم اے طویل مدتی ڈبلیو ایم اے سے نیچے عبور کرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ مارکیٹ نیچے کی طرف مڑ رہی ہے ، اس طرح مختصر ہوجاتی ہے۔
تجارتی سمت کا تعین کرنے کے بعد ، حکمت عملی اسٹاپ نقصان کو 1 اے ٹی آر مدت تک اندراج کی قیمت سے نیچے یا اس سے اوپر طے کرتی ہے ، جس میں دو منافع حاصل ہوتے ہیں۔ پہلا منافع اندراج کی قیمت سے 1 اے ٹی آر اوپر یا اس سے نیچے طے ہوتا ہے ، اور دوسرا منافع اندراج کی قیمت سے 2 اے ٹی آر اوپر یا اس سے نیچے طے ہوتا ہے۔ جب پہلا منافع حاصل ہوتا ہے تو ، پوزیشن کا 50٪ بند ہوجائے گا۔ باقی پوزیشن دوسرے منافع کی طرف چلتی رہے گی یا ٹریلنگ اسٹاپ نقصان کے ساتھ۔
ٹریلنگ اسٹاپ نقصان کی منطق - یہ ایک بار فعال ہوجائے گی جب سب سے زیادہ قیمت یا سب سے کم قیمت پہلی منافع لینے کی سطح تک پہنچ جائے گی۔ ریئل ٹائم بار اپ ڈیٹ کے مطابق ، اسٹاپ نقصان کو زیادہ سے زیادہ منافع نقطہ اور انٹری قیمت کے درمیان ٹریل کیا جائے گا تاکہ نقصان سے بچنے اور راستے میں منافع میں مقفل ہوجائے۔
یہ حکمت عملی مارکیٹ میں بے ترتیب اتار چڑھاؤ کو مؤثر طریقے سے فلٹر کرنے اور درمیانی سے طویل مدتی رجحان سگنلز کی نشاندہی کرنے کے لئے چلتی اوسط کی دوہری ہموار شور کی کمی کی خصوصیت کا استعمال کرتی ہے ، اس طرح وِپساؤ میں پھنسنے سے بچتی ہے۔ اس کے علاوہ ، دو مرحلے میں منافع لینے سے حکمت عملی کے منافع کے علاقے میں اضافہ ہوتا ہے اور منافع کو زیادہ سے زیادہ ہوتا ہے۔ ٹریلنگ اسٹاپ میکانزم حکمت عملی کو منافع میں مقفل کرنے اور نقصانات کو کم کرنے کی بھی اجازت دیتا ہے۔
خود حرکت پذیر اوسطوں میں زیادہ تاخیر ہوتی ہے ، جس سے سگنل کی کمی کا خطرہ پیدا ہوتا ہے۔ ڈبل حرکت پذیر اوسطوں کے مابین کراس اوور بھی کچھ مارکیٹوں میں بہت زیادہ غلط سگنل پیدا کرسکتا ہے ، جس سے نقصانات کا سبب بنتا ہے۔
اسٹاپ نقصان کی ترتیب حکمت عملی کا ایک اہم جزو ہے۔ اگر اسٹاپ نقصان بہت چھوٹا ہے تو ، یہ مارکیٹ کے شور سے متاثر ہوتا ہے۔ اگر اسٹاپ نقصان بہت بڑا ہے تو ، یہ خطرات کو مؤثر طریقے سے کنٹرول کرنے میں ناکام ہوسکتا ہے۔
اس کے علاوہ، جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے، تو ٹریلنگ اسٹاپ تحفظ میں بہت اچھا کام نہیں کرسکتا ہے۔
پیرامیٹرز کا بہترین مجموعہ تلاش کرنے کے لئے مختلف پیرامیٹرز کے ساتھ ای ایم اے اور ڈبلیو ایم اے ٹیسٹ کریں۔ بہت مختصر ای ایم اے یا بہت لمبی ڈبلیو ایم اے دونوں حکمت عملی کی کارکردگی کو متاثر کرسکتے ہیں۔
مقررہ پوائنٹس یا ATR متعدد سٹاپ نقصان کا انتخاب مختلف مصنوعات کی خصوصیات اور ٹریڈنگ شیلیوں کی بنیاد پر کریں۔
جزوی پوزیشن ٹریلنگ سٹاپ اور مکمل پوزیشن ٹریلنگ سٹاپ کے اثرات کی جانچ کریں.
ای ایم اے اور ڈبلیو ایم اے کی مدد کے لیے سگنل فلٹرنگ کے لیے دوسرے اشارے متعارف کرانے تاکہ سگنل کے معیار کو بہتر بنایا جا سکے۔
عام طور پر ، دوہری چلتی اوسط چینل ٹریڈنگ حکمت عملی نسبتا rob مضبوط ہے اور رجحان سازی کی منڈیوں میں اچھی کارکردگی کا مظاہرہ کرتی ہے۔ پیرامیٹرز ، اسٹاپ نقصان کے طریقہ کار کو بہتر بنانے ، اور سگنل کے معیار کو بہتر بنانے سے ، اس حکمت عملی کی حقیقی تجارتی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔ یہ ایک امید افزا حکمت عملی خیال ہے جو اصل تجارت میں گہری تحقیق اور درخواست کے قابل ہے۔
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gpadihar //@version=4 strategy("SL1 Pips after TP1 (MA)", commission_type=strategy.commission.cash_per_order, overlay=true) // Strategy Buy = input(true) Sell = input(true) // Date Range start_year = input(title='Start year' ,defval=2020) start_month = input(title='Start month' ,defval=1) start_day = input(title='Start day' ,defval=1) start_hour = input(title='Start hour' ,defval=0) start_minute = input(title='Start minute' ,defval=0) end_time = input(title='set end time?',defval=false) end_year = input(title='end year' ,defval=3019) end_month = input(title='end month' ,defval=12) end_day = input(title='end day' ,defval=31) end_hour = input(title='end hour' ,defval=23) end_minute = input(title='end minute' ,defval=59) // MA ema_period = input(title='EMA period',defval=10) wma_period = input(title='WMA period',defval=20) ema = ema(close,ema_period) wma = wma(close,wma_period) // Entry Condition buy = crossover(ema,wma) and nz(strategy.position_size) == 0 and Buy and time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true) sell = crossunder(ema,wma) and nz(strategy.position_size) == 0 and Sell and time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true) // Pips pip = input(20)*10*syminfo.mintick // Trading parameters // var bool LS = na var bool SS = na var float EP = na var float TVL = na var float TVS = na var float TSL = na var float TSS = na var float TP1 = na var float TP2 = na var float SL1 = na var float SL2 = na if buy or sell and strategy.position_size == 0 EP := close SL1 := EP - pip * (sell?-1:1) SL2 := EP - pip * (sell?-1:1) TP1 := EP + pip * (sell?-1:1) TP2 := EP + pip * 2 * (sell?-1:1) // current trade direction LS := buy or strategy.position_size > 0 SS := sell or strategy.position_size < 0 // adjust trade parameters and trailing stop calculations TVL := max(TP1,open) - pip[1] TVS := min(TP1,open) + pip[1] TSL := open[1] > TSL[1] ? max(TVL,TSL[1]):TVL TSS := open[1] < TSS[1] ? min(TVS,TSS[1]):TVS if LS and high > TP1 if open <= TP1 SL2:=min(EP,TSL) if SS and low < TP1 if open >= TP1 SL2:=max(EP,TSS) // Closing conditions close_long = LS and open < SL2 close_short = SS and open > SL2 // Buy strategy.entry("buy" , strategy.long, when=buy and not SS) strategy.exit ("exit1", from_entry="buy", stop=SL1, limit=TP1, qty_percent=50) strategy.exit ("exit2", from_entry="buy", stop=SL2, limit=TP2) // Sell strategy.entry("sell" , strategy.short, when=sell and not LS) strategy.exit ("exit3", from_entry="sell", stop=SL1, limit=TP1, qty_percent=50) strategy.exit ("exit4", from_entry="sell", stop=SL2, limit=TP2) // Plots a=plot(strategy.position_size > 0 ? SL1 : na, color=#dc143c, style=plot.style_linebr) b=plot(strategy.position_size < 0 ? SL1 : na, color=#dc143c, style=plot.style_linebr) c=plot(strategy.position_size > 0 ? TP1 : na, color=#00ced1, style=plot.style_linebr) d=plot(strategy.position_size < 0 ? TP1 : na, color=#00ced1, style=plot.style_linebr) e=plot(strategy.position_size > 0 ? TP2 : na, color=#00ced1, style=plot.style_linebr) f=plot(strategy.position_size < 0 ? TP2 : na, color=#00ced1, style=plot.style_linebr) g=plot(strategy.position_size >= 0 ? na : EP, color=#ffffff, style=plot.style_linebr) h=plot(strategy.position_size <= 0 ? na : EP, color=#ffffff, style=plot.style_linebr) plot(ema,title="ema",color=#fff176) plot(wma,title="wma",color=#00ced1)