اس حکمت عملی کی بنیاد ATR اشارے کے ساتھ ڈیزائن متحرک ٹریلنگ سٹاپ نقصان میکانیزم پر ہے کہ منافع کو زیادہ سے زیادہ کرنے کے لئے مؤثر سٹاپ نقصان کو یقینی بنانے کے دوران حقیقی وقت میں سٹاپ نقصان کو ایڈجسٹ کرنے کے لئے.
یہ حکمت عملی تیز رفتار اے ٹی آر کی مدت 5 اور سست اے ٹی آر کی مدت 10 کا استعمال کرتی ہے تاکہ دو تہوں کی متحرک ٹریلنگ اسٹاپ نقصان پیدا کیا جاسکے۔ جب قیمت ایک سازگار سمت میں چلتی ہے تو ، تیز پرت اسٹاپ نقصان کو سخت کرنے کے لئے پہلے ٹریلنگ اسٹاپ کو چالو کرے گی۔ جب قلیل مدتی پل بیک ہوتا ہے تو ، سست پرت اسٹاپ نقصان قبل از وقت اسٹاپ آؤٹ سے بچ سکتا ہے۔ اس دوران ، تیز اور سست پرتوں کے مابین کراس اوور تجارتی سگنل کی حیثیت سے کام کرتا ہے۔
خاص طور پر ، تیز پرت کا اسٹاپ نقصان کا فاصلہ 5 پیریڈ اے ٹی آر کا 0.5 گنا ہے ، اور سست پرت کا اسٹاپ نقصان کا فاصلہ 10 پیریڈ اے ٹی آر کا 3 گنا ہے۔ جب تیز پرت سست پرت سے اوپر ٹوٹ جاتی ہے تو خرید کا اشارہ پیدا ہوتا ہے ، اور جب تیز پرت سست پرت سے نیچے ٹوٹ جاتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔ اسٹاپ نقصان کی لائن کو بھی حقیقی وقت میں اپ ڈیٹ کیا جاتا ہے اور قیمت کے منحنی خطوط کے نیچے پلاٹ کیا جاتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ مؤثر اسٹاپ نقصان کو یقینی بناتے ہوئے منافع کو زیادہ سے زیادہ کرنے کے لئے اسٹاپ نقصان کی پوزیشن کو متحرک طور پر ایڈجسٹ کرسکتا ہے۔ فکسڈ اسٹاپ نقصان کے فاصلے کے مقابلے میں ، متحرک اے ٹی آر اسٹاپ نقصان لائن اسٹاپ نقصان کے امکان کو کم کرنے کے لئے مارکیٹ کے اتار چڑھاؤ کی بنیاد پر ایڈجسٹمنٹ کرسکتی ہے۔
اس کے علاوہ ، دو پرتوں والا اے ٹی آر ڈیزائن اسٹاپ نقصان کی حساسیت کو متوازن کرتا ہے۔ تیز پرت تیزی سے جواب دیتی ہے اور سست پرت جلد ہی اسٹاپ نقصان سے بچنے کے لئے قلیل مدتی شور کو فلٹر کرسکتی ہے۔
اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ آیا اسٹاپ نقصان کا فاصلہ معقول ہے۔ اگر اے ٹی آر ضرب کو بہت زیادہ مقرر کیا جاتا ہے تو ، اسٹاپ نقصان کی حد قیمت کی نقل و حرکت کے ساتھ نہیں چلے گی۔ اگر اے ٹی آر ضرب بہت چھوٹا ہے تو ، یہ قلیل مدتی شور سے روکنے کا شکار ہے۔ لہذا ، پیرامیٹرز کو مختلف اقسام کی خصوصیات کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔
اس کے علاوہ ، ایک رینج سے منسلک مارکیٹ میں ، اے ٹی آر کی قیمت کم ہے اور اسٹاپ نقصان کی لائن قریب ہے ، جس کی وجہ سے اکثر اسٹاپ نقصان ہوسکتا ہے۔ لہذا ، یہ حکمت عملی کچھ اتار چڑھاؤ والی اقسام کے لئے زیادہ موزوں ہے۔
بہترین توازن تلاش کرنے کے لئے اے ٹی آر سائیکل پیرامیٹرز کے مختلف امتزاج کی کوشش کی جاسکتی ہے۔ یہ مارکیٹ کے مرحلے کا اندازہ کرنے کے ل other دوسرے اشارے ، جیسے رجحان کے اشارے کے ساتھ جوڑنے پر بھی غور کرسکتا ہے ، تاکہ اے ٹی آر ضرب کے سائز کو متحرک طور پر ایڈجسٹ کیا جاسکے۔
یہ بھی ممکن ہے کہ ATR اشارے کے متبادل کا مطالعہ کیا جائے، ATR کو DKVOL، HRANGE یا ATR فی صد وغیرہ کے ساتھ تبدیل کرنے سے بہتر سٹاپ نقصان کا اثر حاصل ہوسکتا ہے۔
یہ حکمت عملی اے ٹی آر اشارے پر مبنی دو پرت متحرک ٹریلنگ میکانزم ڈیزائن کرتی ہے تاکہ زیادہ سے زیادہ اسٹاپ نقصان سے بچتے ہوئے منافع کو زیادہ سے زیادہ بنایا جاسکے۔ یہ ان صارفین کے لئے موزوں ہے جن کے پاس اسٹاپ نقصان کے لئے زیادہ تقاضے ہیں۔ یہ حکمت عملی مارکیٹ اور مختلف خصوصیات کے مطابق پیرامیٹرز کو لچکدار طریقے سے ایڈجسٹ کرسکتی ہے تاکہ زیادہ سے زیادہ اسٹاپ نقصان کا اثر حاصل کیا جاسکے۔
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true) /////////notes//////////////////////////////////////// // This is based on the ATR trailing stop indicator // // width addition of two levels of stops and // // different interpretation. // // This is a fast-reacting system and is better // // suited for higher volatility markets // ////////////////////////////////////////////////////// SC = input(close, "Source", input.source) // Fast Trail // AP1 = input(5, "Fast ATR period", input.integer) // ATR Period AF1 = input(0.5, "Fast ATR multiplier", input.float) // ATR Factor SL1 = AF1 * atr(AP1) // Stop Loss Trail1 = 0.0 Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1))) // Slow Trail // AP2 = input(10, "Slow ATR period", input.integer) // ATR Period AF2 = input(3, "Slow ATR multiplier", input.float) // ATR Factor SL2 = AF2 * atr(AP2) // Stop Loss Trail2 = 0.0 Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2))) // Bar color for trade signal // Green = Trail1 > Trail2 and close > Trail2 and low > Trail2 Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2 Red = Trail2 > Trail1 and close < Trail2 and high < Trail2 Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2 // Signals // Bull = barssince(Green) < barssince(Red) Buy = crossover(Trail1, Trail2) Sell = crossunder(Trail1, Trail2) TS1 = plot(Trail1, "Fast Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2, display=display.none) TS2 = plot(Trail2, "Slow Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.green : color.red, linewidth=2) fill(TS1, TS2, Bull ? color.new(color.green, 90) : color.new(color.red, 90)) plotcolor = input(true, "Paint color on chart", input.bool) bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na) barcolor(bcl) if Buy strategy.entry("Buy", strategy.long, comment="Buy") if Sell strategy.close("Buy")