اس حکمت عملی میں وائلڈر Volatility Trailing Stop Method کا استعمال کیا گیا ہے، جس میں ATR اشارے اور مختلف قسم کے حرکت پذیر اوسط کے ساتھ مل کر ایک انکولی رجحان ٹریکنگ سٹاپ نقصان کی حکمت عملی کو لاگو کیا گیا ہے۔
اس حکمت عملی کا مرکز وائلڈر اتار چڑھاؤ ٹریلنگ اسٹاپ الگورتھم ہے۔ یہ پہلے اے ٹی آر اشارے کا حساب لگاتا ہے ، اور ان پٹ اے ٹی آر لمبائی اور ضرب کے مطابق متحرک طور پر اسٹاپ نقصان کی لائن کو پلاٹ کرتا ہے۔ اس کے بعد یہ بند ، اعلی اور کم قیمتوں کے درمیان منتخب کردہ قیمت کے آپشن کی بنیاد پر اسٹاپ نقصان کی لائن کی سب سے زیادہ اونچائی اور سب سے کم کم کو ٹریک کرتا ہے۔ جب قیمت اسٹاپ نقصان کی لائن کو توڑتی ہے تو یہ تجارتی سگنل بھیجتا ہے۔
کوڈ میں ، f_ma فنکشن RMA ، EMA ، SMA اور Hull MA سمیت مختلف حرکت پذیر اوسطوں کو نافذ کرتا ہے۔ ATR اشارے کا حساب لگایا جاتا ہے اور صارف کی وضاحت کردہ ضرب سے ضرب دی جاتی ہے تاکہ اتار چڑھاؤ پر مبنی ٹریلنگ اسٹاپ لائن تیار کی جاسکے۔ اس لائن کی اعلی اور کم ترین سطحوں کو اعلی اور کم سے کم افعال کا استعمال کرتے ہوئے ٹریک کیا جاتا ہے۔ تجارت تب کی جاتی ہے جب قیمت اس ٹریلنگ اسٹاپ لائن میں داخل ہوتی ہے۔
اے ٹی آر اشارے ، مختلف حرکت پذیر اوسط اور سایڈست پیرامیٹرز کا لچکدار استعمال کرکے ، یہ حکمت عملی ایک انتہائی موافقت پذیر رجحان ٹریکنگ اسٹاپ نقصان کا نظام حاصل کرتی ہے۔ جب مارکیٹ میں بڑے pullbacks ہوتے ہیں تو یہ مؤثر طریقے سے رجحانات کو ٹریک کرسکتا ہے اور نقصانات کو روک سکتا ہے۔
یہ حکمت عملی وائلڈر Volatility ٹریلنگ اسٹاپ الگورتھم کا فائدہ اٹھاتی ہے، جو ایک پختہ اور قابل اعتماد رجحان ٹریکنگ سٹاپ نقصان طریقہ کار ہے.
یہ حکمت عملی اسٹاپ نقصان کی لائن کو متحرک طور پر حساب کرنے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے ، جس سے سخت اسٹاپ نقصان کے نکات سے گریز ہوتا ہے۔ اے ٹی آر مارکیٹ کی اتار چڑھاؤ اور رسک کی سطح کو مؤثر طریقے سے ظاہر کرسکتا ہے۔
مختلف حرکت پذیر اوسطوں بشمول آر ایم اے ، ای ایم اے ، ایس ایم اے اور ہل ایم اے کے نفاذ سے حکمت عملی کی موافقت میں اضافہ ہوتا ہے۔
اے ٹی آر کی لمبائی، ضرب پیرامیٹرز کو ایڈجسٹ کرکے، مختلف مارکیٹوں کے لئے بہتر پیرامیٹرز مل سکتے ہیں، حکمت عملی کی کارکردگی کو بہتر بناتے ہیں.
مختلف قیمتوں کے اختیارات جیسے اعلی ، کم ، قریبی قیمتوں کا استعمال مختلف مصنوعات میں اصلاح کی اجازت دیتا ہے۔
خلاصہ میں، یہ ایک قابل اعتماد، موافقت پذیر اور آسانی سے بہتر رجحان ٹریکنگ سٹاپ نقصان کی حکمت عملی ہے.
یہ حکمت عملی پیرامیٹر کی اصلاح پر بہت زیادہ انحصار کرتی ہے۔ مختلف مارکیٹوں اور مصنوعات کے لئے جانچ کے ذریعے مناسب اے ٹی آر اور ضرب پیرامیٹر تلاش کرنے کی ضرورت ہے ، بصورت دیگر اسٹاپ نقصان کا اثر مثالی نہیں ہوسکتا ہے۔
رینجنگ مارکیٹوں میں ، اے ٹی آر اسٹاپ نقصان لائن اکثر غیر منصفانہ اسٹاپ آؤٹ کو متحرک کرسکتی ہے۔ اس کو بہتر بنانے کے لئے رجحان فلٹرنگ اشارے متعارف کرانے کی ضرورت ہے۔
اگر اسٹاپ نقصان کی لائن بہت وسیع ہے تو ، نقصان کے مواقع ضائع ہوجائیں گے۔ اگر بہت تنگ ہے تو ، تجارتی تعدد اور پھسلنے کی لاگت میں اضافہ ہوگا۔ محتاط جانچ کے ذریعے متوازن نقطہ تلاش کرنے کی ضرورت ہے۔
بہت سارے چلتے ہوئے اوسط اختیارات کارکردگی کے انحراف کا باعث بن سکتے ہیں۔ ہر پروڈکٹ کے لئے ایک اہم چلتے ہوئے اوسط کا انتخاب کیا جانا چاہئے ، دوسروں کو صرف حوالہ کے لئے استعمال کیا جانا چاہئے۔
یہ حکمت عملی رجحان کی پیروی پر مرکوز ہے اور براہ راست منافع کو نشانہ نہیں بناتی ہے۔ اسے دیگر انٹری / ایگزٹ حکمت عملیوں یا منافع لینے کی تکنیکوں کے ساتھ مل کر استعمال کرنے کی ضرورت ہے۔
ناقص پیرامیٹرز کے ساتھ ، حکمت عملی میں زیادہ سے زیادہ تجارت یا زیادہ سے زیادہ انعقاد کی مدت ہوسکتی ہے۔ اس کو بہتر بنانے کے ذریعے حل کرنے کی ضرورت ہے۔
رجحان کی نشاندہی کرنے والے اشارے متعارف کروائے جاسکتے ہیں تاکہ مارکیٹوں میں گھومنے سے بچ سکے۔
ریورس انڈیکیٹرز کو ٹیسٹ کیا جا سکتا ہے تاکہ تیزی سے سٹاپ آؤٹ اور ریورس کی اجازت دی جا سکے جب اپ ٹرینڈ اور ڈاؤن ٹرینڈ متبادل ہو.
ATR مدت پیرامیٹر مصنوعات کی خصوصیات کے ساتھ correlated کیا جا سکتا ہے، تاکہ مختلف مصنوعات مختلف ATR ادوار استعمال کرتے ہیں.
حجم کے اشارے کا استعمال حجم میں نمایاں کمی کے وقت سٹاپ نقصان کی لائن کو تیزی سے تنگ کرنے کے لئے کیا جا سکتا ہے۔
سٹاپ نقصان کا فیصد بڑھایا جا سکتا ہے، لیکن بہت تنگ نہیں ہے تاکہ عام ریٹریکشنز پر روکنے سے بچنے کے لئے.
دوسرے اشارے کو رفتار کی پیمائش کرنے کے لئے استعمال کیا جاسکتا ہے ، اور رفتار کمزور ہونے پر اسٹاپس کو نرم کرنے کے لئے پیرامیٹرز کو بہتر بنایا جاسکتا ہے۔
وائلڈر Volatility ٹریلنگ اسٹاپ تصور کی بنیاد پر ، یہ حکمت عملی اے ٹی آر اشارے کو انتہائی موافقت پذیر رجحان ٹریکنگ اسٹاپ نقصان کے نظام کو ڈیزائن کرنے کے لئے استعمال کرتی ہے۔ پیرامیٹر کی اصلاح کے ذریعے اسے مختلف تجارتی مصنوعات میں فٹ کیا جاسکتا ہے ، اور یہ ایک قابل اعتماد اور عملی اسٹاپ نقصان کا نقطہ نظر ہے۔ لیکن خطرات کو مزید بہتر بنانے کے ل further مزید بہتر بنانے کی ضرورت ہے جیسے رجحان فلٹرز اور حجم عناصر۔ اسے زیادہ مضبوط بنانے کے لئے اسے اسٹاپ نقصان کی تکنیکوں کی افادیت کو زیادہ سے زیادہ کرنے کے لئے دیگر حکمت عملیوں کے ساتھ مل کر استعمال کرنے کی بھی ضرورت ہے۔
/*backtest start: 2023-10-09 00:00:00 end: 2023-10-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Wilder's Volatility Trailing Stop Strategy with various MA's // by SparkyFlary //For Educational Purposes //Results can differ on different markets and can fail at any time. Profit is not guaranteed. strategy(title="Wilder's Volatility Trailing Stop Strategy with various MA's", shorttitle="Trailing Stop Strategy", overlay=true) AtrMult = input(3.0, title="ATR multiplier") ATRlength = input(7, title="ATR length") ATRavgType = input("RMA", title="ATR moving average type", options=["RMA", "EMA", "SMA", "HULL"]) sicType = input("close", title="significant close type for trail calculation", options=["close", "high-low"]) //function for choosing moving averages f_ma(type, src, len) => float result = 0 if type == "RMA" // Wilder's moving averaege or Running moving average result := rma(src, len) if type == "EMA" // Exponential moving average result := ema(src, len) if type == "SMA" // Simple moving average result := sma(src, len) if type == "HULL" // Hull moving average result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) result ATR = f_ma(ATRavgType, tr, ATRlength) upperTrail = lowest(sicType=="close"?close:low, ATRlength) + AtrMult * ATR lowerTrail = highest(sicType=="close"?close:high, ATRlength) - AtrMult * ATR float TS = 0 TS := close < TS[1] ? upperTrail[1] : close > TS[1] ? lowerTrail[1] : TS //plot plot(TS, title="trailing stop", color=close<TS?color.red:color.green) //Strategy buy = crossover(close, TS) //sell = close < TS short = crossunder(close, TS) //cover = close > TS strategy.entry(id="enter long", long=true, when=buy) //strategy.close(id="enter long", comment="exit long", when=sell) strategy.entry(id="enter short", long=false, when=short) //strategy.close(id="enter short", comment="exit short", when=cover)