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

ATR SL TS
تخلیق کی تاریخ: 2024-12-20 14:12:05 آخر میں ترمیم کریں: 2024-12-20 14:12:05
کاپی: 1 کلکس کی تعداد: 418
1
پر توجہ دیں
1617
پیروکار

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

جائزہ

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

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

حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:

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

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Supertrend Strategy with Adjustable Trailing Stop [Bips]", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

// Inputs
atrPeriod = input(10, "ATR Länge", "Average True Range „wahre durchschnittliche Schwankungsbreite“ und stammt aus der technischen Analyse. Die ATR misst die Volatilität eines Instruments oder eines Marktes. Mit ihr kann die Wahrscheinlichkeit für einen Trendwechsel bestimmt werden.", group="Supertrend Settings")
factor = input.float(3.0, "Faktor", step=0.1, group="Supertrend Settings")
tradeDirection = input.string("Long", "Trade Direction", options=["Both", "Long", "Short"], group="Supertrend Settings")
sl_type    = input.string("%", "SL Type", options=["%", "ATR", "Absolute"])
// Parameter für ST nur für einstieg -> Beim Ausstieg fragen ob der bool WWert true ist -> Für weniger und längere Trädes 

sl_perc    = input.float(4.0, "% SL", group="Stop Loss Einstellung")
atr_length = input.int(10, "ATR Length", group="Stop Loss Einstellung")
atr_mult   = input.float(2.0, "ATR Mult", group="Stop Loss Einstellung")
sl_absol   = input.float(10.0, "Absolute SL", group="Stop Loss Einstellung")

//-------------------------//
// BACKTESTING RANGE
fromDay   = input.int(defval=1, title="From Day", minval=1, maxval=31, group="Backtesting Einstellung")
fromMonth = input.int(defval=1, title="From Month", minval=1, maxval=12, group="Backtesting Einstellung")
fromYear  = input.int(defval=2016, title="From Year", minval=1970, group="Backtesting Einstellung")
toDay     = input.int(defval=1, title="To Day", minval=1, maxval=31, group="Backtesting Einstellung")
toMonth   = input.int(defval=1, title="To Month", minval=1, maxval=12, group="Backtesting Einstellung")
toYear    = input.int(defval=2100, title="To Year", minval=1970, group="Backtesting Einstellung")

startDate  = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond  = time >= startDate and time <= finishDate

//-------------------------//
// Supertrend calculation
[_, direction] = ta.supertrend(factor, atrPeriod)

// SL values
sl_val = sl_type == "ATR"      ? atr_mult * ta.atr(atr_length) : 
         sl_type == "Absolute" ? sl_absol : 
         close * sl_perc / 100
         
// Init Variables
var pos         = 0
var float trailing_sl = 0.0

// Signals
long_signal  = nz(pos[1]) !=  1 and high > nz(trailing_sl[1])
short_signal = nz(pos[1]) != -1 and low  < nz(trailing_sl[1]) 

// Calculate SL
trailing_sl := short_signal     ? high + sl_val : 
               long_signal      ? low  - sl_val : 
               nz(pos[1]) ==  1 ? math.max(low  - sl_val, nz(trailing_sl[1])) :  
               nz(pos[1]) == -1 ? math.min(high + sl_val, nz(trailing_sl[1])) : 
               nz(trailing_sl[1])
               
// Position var               
pos := long_signal  ? 1 : short_signal ? -1 : nz(pos[1]) 

// Entry logic
if ta.change(direction) < 0 and time_cond
    if tradeDirection == "Both" or tradeDirection == "Long"
        strategy.entry("Long", strategy.long, stop=trailing_sl)
    else
        strategy.close_all("Stop Short")

if ta.change(direction) > 0 and time_cond
    if tradeDirection == "Both" or tradeDirection == "Short"
        strategy.entry("Short", strategy.short, stop=trailing_sl)
    else
        strategy.close_all("Stop Long")

// Exit logic: Trailing Stop and Supertrend
//if strategy.position_size > 0 and not na(trailing_sl)
    //strategy.exit("SL-Exit Long", from_entry="Long", stop=trailing_sl)

//if strategy.position_size < 0 and not na(trailing_sl)
    //strategy.exit("SL-Exit Short", from_entry="Short", stop=trailing_sl)

// Trailing Stop visualization
plot(trailing_sl, linewidth = 2, color = pos == 1 ? color.green : color.red)
//plot(not na(trailing_sl) ? trailing_sl : na, color=pos == 1 ? color.green : color.red, linewidth=2, title="Trailing Stop")