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

مصنف:چاؤ ژانگ، تاریخ: 2023-10-10 10:50:21
ٹیگز:

جائزہ

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

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

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

خاص طور پر، حکمت عملی مندرجہ ذیل متغیرات کی وضاحت کرتا ہے:

  • entry_price: داخلہ قیمت
  • سٹاپ_پریس: سٹاپ نقصان کی قیمت
  • take_profit_price: منافع لینے کی قیمت
  • atr_down: ATR نیچے لائن
  • atr_up: ATR اوپر لائن
  • atr_current: موجودہ ATR لائن
  • atr_ref: ATR قدر

داخل ہونے کے بعد ، اس نے موجودہ ATR قیمت کے طور پر atr_ref کا حساب لگایا ، اور atr_div کو موجودہ قیمت سے انٹری قیمت کے ATR ضرب کے طور پر۔ پھر atr_down ، atr_current اور atr_up کی پوزیشنوں کو atr_div کی بنیاد پر مقرر کیا گیا۔ اسٹاپ نقصان کی قیمت اسٹاپ_پریس کو انٹری قیمت سے 1.5ATR نیچے مقرر کیا گیا ہے۔

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

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

فوائد

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

  2. نقصانات کو محدود کرتے ہوئے رجحانات پر عمل کریں۔ منافع جمع کرنے کے لئے اسٹاپ نقصان آہستہ آہستہ بڑھایا جائے گا۔

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

خطرات

  1. اے ٹی آر اشارے تیز الٹ اور خلاؤں کے لئے حساس نہیں ہے.

  2. ای ایم اے رجحان کی تبدیلی کا تعین نہیں کر سکتے، رجحان کی تبدیلی پر نئی پوزیشنیں داخل کر سکتے ہیں۔

  3. جزوی منافع لینے کے بعد نقصانات کا زیادہ امکان۔

  4. پیرامیٹرز کو مزید بہتر بنانے کی ضرورت ہے، 1.5ATR سٹاپ اور 3ATR منافع لے مختلف مصنوعات کے لئے ایڈجسٹ کیا جانا چاہئے.

بہتری

  1. ATR تاخیر کی تلافی کے لئے Donchian چینل کی طرح دیگر سٹاپ نقصان اشارے شامل کرنے پر غور کریں.

  2. مختلف حرکت پذیر اوسطوں کا تجربہ کریں یا رجحان کی تبدیلی کا فیصلہ کرنے کے لئے ایم اے سی ڈی وغیرہ شامل کریں۔

  3. مختلف مصنوعات کے لئے جزوی منافع کے تناسب اور تعدد کو بہتر بنائیں.

  4. سٹاپ اور منافع لینے کے لئے اے ٹی آر کے ضرب پر پیرامیٹر کی اصلاح۔ ٹریلنگ اسٹاپ نقصان کی خصوصیت شامل کریں۔

  5. کمزور رجحانات کے دوران ٹیسٹ کی کارکردگی، کمزور رجحانات کے دوران حکمت عملی کو غیر فعال کر سکتا ہے.

خلاصہ

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ekinbasarkomur

//@version=5
strategy("[EKIN] ATR Exit Strategy", overlay=true, initial_capital = 1000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, calc_on_every_tick = true)

// Simple EMA tracking
fastEMA = ta.ema(close, 5)
slowEMA = ta.ema (close, 20)
atr = ta.atr(14)

// We define entry price for future reference
var float entry_price = na
// We define stop and take profit for future calculations
var float stop_price = na
var float take_profit_price = na

// We define atr limtim its here
var float atr_down = na
var float atr_up = na
var float atr_current = na
var float atr_ref = na

avg = (low + high) / 2

// Conditions
enterCondition = ta.crossover(fastEMA, slowEMA)
var bool tookProfit = false
timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 15, 0, 0)
InTrade = strategy.position_size > 0

// Go long if conditions are met
if (enterCondition and timePeriod and not InTrade)
    // Calculate and update variables
    entry_price := avg
    atr_ref := atr
    atr_div = int((avg - entry_price) / atr_ref)
    atr_down := entry_price + (atr_ref * (atr_div - 1.5))
    atr_up := entry_price + (atr_ref * (atr_div + 1))
    atr_current := entry_price + (atr_ref * atr_div) 
    stop_price := (entry_price - (atr_ref * 1.5))
    take_profit_price := (entry_price + (atr_ref * 3))
    strategy.order("buy", strategy.long, qty = 2)

// Enter here if in position
if InTrade or tookProfit
    stopCondition = avg < stop_price
    takeProfitCondition = avg > take_profit_price

    if avg < atr_down
        stopCondition := true

    // Move stop price and exit price if price for each atr price increase
    if avg > atr_up
        if tookProfit
            atr_ref := atr
        atr_div = int((avg - entry_price) / atr_ref)
        atr_down := entry_price + (atr_ref * (atr_div - 1))
        atr_up := entry_price + (atr_ref * (atr_div + 1))
        atr_current := entry_price + (atr_ref * atr_div) 

    // Take half of the investment if current price is 3 atr higher than entry price
    if (takeProfitCondition and timePeriod and InTrade and not tookProfit)
        strategy.order("take_half_profit", strategy.short, qty = 1)
        tookProfit := true

    // Exit position if conditions are met and reset the variables
    if (stopCondition and timePeriod and InTrade)
        if tookProfit
            strategy.order("exit", strategy.short, qty = 1)
        else
            strategy.order("stop_loss", strategy.short, qty = 2)

        tookProfit := false

// Plot EMA's
plot(fastEMA, color = color.blue)
plot(slowEMA, color = color.yellow)

// Plot ATR Limit/Stop positions
profit_plot = plot(series = InTrade?atr_up:na, title = "profit", color = color.green, style=plot.style_linebr)
close_plot = plot(series = InTrade?atr_current:na, title = "close", color = color.white, style=plot.style_linebr)
stop_plot = plot(series = InTrade?atr_down:na, title = "stop_loss", color = color.red, style=plot.style_linebr)
fill(profit_plot, close_plot, color = color.new(color.green, 80))
fill(close_plot, stop_plot, color =color.new(color.red,80))

مزید