UT Bot اشارے پر مبنی ATR موونگ اسٹاپ نقصان کی حکمت عملی


تخلیق کی تاریخ: 2024-03-11 11:17:33 آخر میں ترمیم کریں: 2024-03-11 11:17:33
کاپی: 0 کلکس کی تعداد: 2014
1
پر توجہ دیں
1617
پیروکار

UT Bot اشارے پر مبنی ATR موونگ اسٹاپ نقصان کی حکمت عملی

جائزہ

یہ حکمت عملی کوانٹ ناماد کے تیار کردہ یو ٹی بوٹ میٹرکس پر مبنی ہے ، جس میں موبائل اسٹاپ نقصان کی سوچ کو شامل کیا گیا ہے۔ اصل کوڈ کو @ Yo_adriiiiaan نے لکھا ہے ، جس میں @ HPotter نے ترمیم کی ہے۔ یہ حکمت عملی LuxAlgo کے اسمارٹ منی تصورات کے ساتھ مل کر کام کرے گی۔ یہ حکمت عملی فی الحال جانچ کے مرحلے میں ہے۔

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

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

  1. جب اختتامی قیمت 50 مدت کی سادہ منتقل اوسط سے زیادہ ہو تو زیادہ تجارت کریں۔
  2. ایک سے زیادہ پوزیشنوں کے لئے ، ایک متحرک اسٹاپ قیمت طے کریں۔ متحرک اسٹاپ قیمت موجودہ اختتامی قیمت کا 80٪ (~ 1-20٪) ہے۔ متحرک اسٹاپ قیمت قیمت میں اضافے کے ساتھ بڑھتی ہے ، لیکن نیچے نہیں جاتی ہے ، اس طرح منافع کی حفاظت کا کام کرتی ہے۔
  3. خالی پوزیشنوں کے لئے ، اسی طرح ایک متحرک اسٹاپ قیمت طے کریں۔ متحرک اسٹاپ قیمت موجودہ اختتامی قیمت کا 120٪ ہے ((1 + 20٪) ۔ متحرک اسٹاپ قیمت قیمت کے ساتھ نیچے جائے گی ، لیکن اوپر نہیں جائے گی۔
  4. اے ٹی آر (Average True Range) کا استعمال کرتے ہوئے حرکت پذیر اسٹاپ کی بنیاد کے طور پر۔ اے ٹی آر حرکت پذیر اسٹاپ کی قیمت کا حساب کتاب کرنے کا طریقہ یہ ہے کہ: جب اوپر کی طرف منتقل ہوتا ہے تو ، پچھلے اے ٹی آر کی حرکت پذیر اسٹاپ قیمت اور موجودہ اختتامی قیمت - اے ٹی آر*کلیدی قیمت) دونوں کی بڑی قیمت؛ نیچے کی طرف بڑھتے ہوئے ، پچھلے اے ٹی آر کو روکنے کی قیمت اور [] موجودہ اختتامی قیمت + اے ٹی آر*Key Value) دونوں کی چھوٹی قدر ہے۔ جس میں Key Value صارف کے ذریعہ طے شدہ پیرامیٹرز ہیں جو موبائل اسٹاپ نقصان کی حساسیت کو ایڈجسٹ کرتے ہیں۔
  5. اے ٹی آر موبائل اسٹاپ قیمت کے خلاف ورزی کی صورت حال کے مطابق ، موجودہ پوزیشن کی سمت کا فیصلہ کریں۔ جب قیمت اوپر کی طرف اے ٹی آر موبائل اسٹاپ قیمت کو توڑتی ہے تو ، ایک سے زیادہ پوزیشن رکھیں۔ جب قیمت نیچے کی طرف اے ٹی آر موبائل اسٹاپ قیمت کو توڑتی ہے تو ، ایک خالی پوزیشن رکھیں۔ دوسری صورتوں میں موجودہ پوزیشن کی حالت کو برقرار رکھنا۔

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Trailingstop", overlay=true)

if close > sma(close, 50)
    strategy.entry("long", strategy.long)

// Trailing stop loss for long positions
Trailperc = 0.20
price_stop_long = 0.0

if (strategy.position_size > 0)
    stopValue = close * (1 - Trailperc)
    price_stop_long := max(stopValue, price_stop_long[1])
else
    price_stop_long := 0

if (strategy.position_size > 0)
    strategy.exit(id="stoploss_long", stop=price_stop_long)

// Trailing stop loss for short positions
Trailperc_short = 0.20
price_stop_short = 0.0

if (strategy.position_size < 0)
    stopValue_short = close * (1 + Trailperc_short)
    price_stop_short := min(stopValue_short, price_stop_short[1])
else
    price_stop_short := 0

if (strategy.position_size < 0)
    strategy.exit(id="stoploss_short", stop=price_stop_short)

// ATR Trailing Stop for visualization
keyvalue = input(3, title="Key Value. 'This changes the sensitivity'", step=0.5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR

xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
   iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
   iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos = 0  
pos :=   iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
   iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))

xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue

plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")