دو طرفہ اتار چڑھاؤ نگلنے کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-21 12:04:19
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

فوائد کا تجزیہ

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

خطرے کا تجزیہ

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

خطرات کو کم کرنے کے لئے: وسیع تر اسٹاپ لیولز کے لیے اے ٹی آر کوفیشنٹ میں اضافہ، تجارتی تعدد کو محدود کرنا، کم سے کم منافع لینے کی سطح مقرر کرنا وغیرہ۔

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

  • رجحان کی تبدیلی کے اشارے کے لئے دیگر اشارے کو یکجا کریں
  • اے ٹی آر پیرامیٹرز کو بہتر بنائیں
  • تجارت کا سائز کنٹرول شامل کریں

خلاصہ

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


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

//@version=2
strategy("BCH Swinger v1", overlay=true, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year")
ToMonth   = input(defval = 10, title = "To Month", minval = 1)
ToDay     = input(defval = 01, title = "To Day", minval = 1)
ToYear    = input(defval = 2020, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 1, 1)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

length = input(3)
mult = input(1, minval = 0.01)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? yellow : red, style=circles, linewidth=2)

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction",  minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = close > vstop and withinTimeRange
condition2 = close < vstop and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2)

/////////////////////////////////////////////////////////////
//END - TRADING RULES

مزید