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


تخلیق کی تاریخ: 2023-09-13 15:53:00 آخر میں ترمیم کریں: 2023-09-13 15:53:00
کاپی: 0 کلکس کی تعداد: 1194
1
پر توجہ دیں
1617
پیروکار

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

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

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

اس حکمت عملی کا فائدہ یہ ہے کہ روایتی پیرالائز لائن اسٹاپ کو مارکیٹ میں اتار چڑھاؤ کی بنیاد پر متحرک طور پر ایڈجسٹ کرنے کی اجازت دی جاتی ہے۔ تاہم ، اے ٹی آر پیرامیٹرز کو بہتر بنانے کی ضرورت ہے ، اور اسٹاپ لائن بہت حساس ہے اور اس سے تجاوز کرنا آسان ہے۔

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

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

//@version=4
strategy(title="ATR Parabolic SAR Strategy [QuantNomad]", shorttitle="ATR PSAR Strategy [QN]", overlay=true, default_qty_type = strategy.percent_of_equity,  default_qty_value = 100)

atr_length = input(14)
start      = input(0.02)
increment  = input(0.02)
maximum    = input(0.2)
entry_bars = input(1, title = "Entry on Nth trend bar") 

atr = atr(atr_length)

atr := na(atr) ? tr : atr

psar        = 0.0 // PSAR
af          = 0.0 // Acceleration Factor
trend_dir   = 0   // Current direction of PSAR
ep          = 0.0 // Extreme point
trend_bars  = 0

sar_long_to_short = trend_dir[1] == 1  and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long

trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long

// Calculate trend direction
trend_dir    :=  barstate.isfirst[1] and close[1]  > open[1] ?  1 : 
                 barstate.isfirst[1] and close[1] <= open[1] ? -1 : 
                 sar_long_to_short ? -1 : 
                 sar_short_to_long ?  1 : nz(trend_dir[1])

trend_bars := sar_long_to_short ? -1 : 
              sar_short_to_long ?  1 : 
              trend_dir ==  1   ? nz(trend_bars[1]) + 1 : 
              trend_dir == -1   ? nz(trend_bars[1]) - 1 : 
              nz(trend_bars[1])

// Calculate  Acceleration Factor
af := trend_change ? start : 
   (trend_dir == 1 and high > ep[1]) or  
   (trend_dir == -1 and low < ep[1]) ? 
   min(maximum, af[1] + increment) : 
   af[1]

// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high :  
   trend_change and trend_dir == -1 ? low : 
   trend_dir == 1 ? max(ep[1], high) : 
   min(ep[1], low)

// Calculate PSAR
psar :=  barstate.isfirst[1] and close[1]  > open[1] ? low[1]  : 
         barstate.isfirst[1] and close[1] <= open[1] ? high[1] : 
         trend_change ? ep[1] :    
         trend_dir == 1 ? psar[1] + af * atr : 
                          psar[1] - af * atr

plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red,  linewidth = 2)


// Strategy 
strategy.entry("Long",  true,  when = trend_bars ==  entry_bars)
strategy.entry("Short", false, when = trend_bars == -entry_bars)