یو ٹی بوٹ اشارے پر مبنی اے ٹی آر ٹریلنگ اسٹاپ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-03-11 11:17:33
ٹیگز:

img

جائزہ

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

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

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

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

فوائد کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ

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

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


/*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")

مزید