انکولی اسٹاپ ٹریلنگ کی حکمت عملی


تخلیق کی تاریخ: 2023-10-08 15:06:28 آخر میں ترمیم کریں: 2023-10-08 15:06:28
کاپی: 0 کلکس کی تعداد: 771
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

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

طاقت کا تجزیہ

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

خطرات اور بہتری

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

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

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2100, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////


xATR  = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy  = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

strategy.entry("long",   true, when = buy  and time_cond)
strategy.entry("short", false, when = sell and time_cond)