وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2024-12-20 14:12:05
ٹیگز:اے ٹی آرSLٹی ایس

img

جائزہ

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

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

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

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

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

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

خلاصہ

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


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


متعلقہ

مزید