اے ٹی آر رجحان اسٹریٹجی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2023-09-21 15:13:47
ٹیگز:

جائزہ

یہ حکمت عملی قیمت کے رجحانات کو پکڑنے کے لئے اوسط حقیقی رینج (اے ٹی آر) کا استعمال کرتی ہے اور رجحان کی پیروی کے لئے اے ٹی آر کی بنیاد پر رک جاتا ہے.

یہ کیسے کام کرتا ہے

  1. ATR قدر کا حساب لگائیں.

  2. ATR کی بنیاد پر سٹاپ نقصان کی سطح کا تعین کریں.

  3. جب قیمت ٹوٹ جاتی ہے تو اسٹاپ لیول داخل کریں۔

  4. متحرک طور پر رکنے کو ایڈجسٹ کرکے منافع میں مقفل کریں۔

فوائد

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

خطرات

  • غریب ATR پیرامیٹرز روکنے کے لئے بہت لوز یا تنگ ہو سکتا ہے
  • مؤثر طریقے سے رجحان کے اختتام کی نشاندہی کرنے میں ناکام
  • کچھ وقت کی تاخیر موجود ہے
  • واپسی سے منافع کم ہو سکتا ہے

اصلاح کی ہدایات

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

نتیجہ

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


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

strategy(title="ATR Strategy", overlay = true,  commission_type=strategy.commission.percent,commission_value=0.075)
//credits to HPotter for the orginal code
nATRPeriod = input(5)
nATRMultip = input(3.5)
xATR = ta.atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), math.max(nz(xATRTrailingStop[1]), close - nLoss),
                    iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), math.min(nz(xATRTrailingStop[1]), close + nLoss), 
                        iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
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))) 
color = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 
plot(xATRTrailingStop, color=color, title="ATR Trailing Stop")

barbuy = close > xATRTrailingStop 
barsell = close < xATRTrailingStop 

strategy.entry("Long", strategy.long, when = barbuy) 
strategy.entry("Short", strategy.short, when = barsell) 

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



مزید