سپر ٹرینڈ ڈبل ٹرگرڈ ملٹی سٹیپ موونگ منافع لینے کی حکمت عملی

ATR ST TP
تخلیق کی تاریخ: 2024-06-21 14:36:35 آخر میں ترمیم کریں: 2024-06-21 14:36:35
کاپی: 1 کلکس کی تعداد: 698
1
پر توجہ دیں
1617
پیروکار

سپر ٹرینڈ ڈبل ٹرگرڈ ملٹی سٹیپ موونگ منافع لینے کی حکمت عملی

جائزہ

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

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

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

  2. کثیر مرحلے میں چلنے والی اسٹاپ: حکمت عملی میں 4 ایڈجسٹ اسٹاپ اہداف مرتب کیے گئے ہیں۔ ہر مقصد کے مطابق اسٹاپ فیصد اور پوزیشن کا تناسب ہے۔ مثال کے طور پر ، پہلا اسٹاپ ہدف 6 فیصد منافع پر 12 فیصد پوزیشنوں کو ختم کرنے کے لئے مقرر کیا جاسکتا ہے ، دوسرا ہدف 8 فیصد پوزیشنوں کو 12 فیصد منافع پر ختم کرنے کے لئے مقرر کیا جاسکتا ہے۔ یہ میکانزم منافع کو آہستہ آہستہ لاک کرنے کے ساتھ ساتھ کچھ پوزیشنوں کو بھی جاری رکھنے کی اجازت دیتا ہے۔

  3. لچکدار تجارت کی سمت: حکمت عملی صارفین کو مختلف مارکیٹ کے حالات اور تجارت کی ترجیحات کو ایڈجسٹ کرنے کے لئے صرف زیادہ ، صرف مختصر یا دو طرفہ تجارت کا انتخاب کرنے کی اجازت دیتی ہے۔

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

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

  1. خطرے کے انتظام کو بہتر بنانا: ایک کثیر مرحلے میں چلنے والی روک تھام کے طریقہ کار سے حکمت عملی کے خطرے سے فائدہ اٹھانے کا تناسب بہت بہتر ہوتا ہے۔ منافع کو بتدریج لاک کرنے سے ، حکمت عملی میں اضافے کی جگہ کو برقرار رکھتے ہوئے واپسی کے خطرے کو کم کیا جاسکتا ہے۔

  2. جعلی سگنل کو کم کرنا: ڈبل سپر ٹرینڈ اشارے کا استعمال جعلی سگنل کے اثرات کو نمایاں طور پر کم کرتا ہے ، جس سے تجارت کی درستگی اور وشوسنییتا میں اضافہ ہوتا ہے۔

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

  4. اعلی درجے کی آٹومیشن: حکمت عملی مکمل طور پر خود کار ہے ، جس میں داخلہ ، روکنے اور باہر نکلنے سے لے کر انسانی مداخلت کی ضرورت نہیں ہے ، جس سے جذباتی اثرات اور آپریشنل غلطیوں کے امکانات میں نمایاں کمی واقع ہوتی ہے۔

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

اسٹریٹجک رسک

  1. پیرامیٹرز کی حساسیت: حکمت عملی کی کارکردگی کا انحصار سپر ٹرینڈ اشارے اور اسٹاپ پیرامیٹرز کی ترتیبات پر ہے۔ غلط پیرامیٹرز سے زیادہ تجارت یا اہم مواقع سے محروم ہوسکتا ہے۔

  2. رجحانات پر انحصار: رجحانات کی پیروی کرنے کی حکمت عملی کے طور پر ، غیر ضروری تجارت کے اخراجات کا سبب بننے والے ، اتار چڑھاؤ والے بازاروں میں بار بار داخل ہونے اور باہر جانے کا امکان ہے۔

  3. سلائڈ پوائنٹ کا خطرہ: تیز رفتار حالات میں ، کثیر مرحلے کی روک تھام پر عملدرآمد سلائڈ پوائنٹ سے متاثر ہوسکتا ہے ، اور اصل عملدرآمد کی قیمت توقع سے مختلف ہوسکتی ہے۔

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

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

  1. اتار چڑھاؤ فلٹر متعارف کرانے: ATR یا دیگر اتار چڑھاؤ کے اشارے کے ساتھ مل کر غور کریں ، کم اتار چڑھاؤ کے دوران تجارت کی کثرت کو کم کریں ، اور مختلف مارکیٹ کے حالات میں حکمت عملی کی موافقت کو بہتر بنائیں۔

  2. متحرک پیرامیٹرز ایڈجسٹمنٹ: سپر ٹرینڈ پیرامیٹرز اور اسٹاپ ٹارگٹ کو متحرک طور پر ایڈجسٹ کرنے کے لئے ایک انکولی الگورتھم کا استعمال کرتے ہوئے دریافت کیا جاسکتا ہے تاکہ مارکیٹ میں تبدیلیوں کو بہتر طور پر ایڈجسٹ کیا جاسکے۔

  3. اضافی اسٹاپ نقصان: اگرچہ سپر ٹرینڈ الٹ پلٹ کے ساتھ کچھ اسٹاپ نقصان کی خصوصیات پیش کرتا ہے ، لیکن اس میں مزید لچکدار اسٹاپ نقصان کے طریقہ کار کو شامل کرنے پر غور کیا جاسکتا ہے ، جیسے اسٹاپ نقصان کی نگرانی ، اور خطرے کو مزید کنٹرول کرنا۔

  4. دیگر تکنیکی اشارے کے ساتھ مل کر: آر ایس آئی ، ایم اے سی ڈی جیسے دیگر تکنیکی اشارے متعارف کرانے پر غور کیا جاسکتا ہے ، تاکہ کثیر اشارے کی گونج کے ذریعہ انٹری اور آؤٹ پٹ کی درستگی کو بہتر بنایا جاسکے۔

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-05-21 00:00:00
end: 2024-06-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategic Multi-Step Supertrend Trader - Strategy [presentTrading]", overlay=true )

// this strategy utilizes a double Supertrend indicator to determine entry and exit conditions for both long and short trades, with user-configurable take profit levels and trade direction settings. 
// The strategy dynamically updates highest and lowest prices during trades and exits positions based on multi-step profit targets or opposing Supertrend signals.


// User inputs for take profit settings
// Grouping Take Profit settings
useTakeProfit = input.bool(true, title="Use Take Profit", group="Take Profit Settings")
takeProfitPercent1 = input.float(6.0, title="Take Profit % Step 1", group="Take Profit Settings")
takeProfitPercent2 = input.float(12.0, title="Take Profit % Step 2", group="Take Profit Settings")
takeProfitPercent3 = input.float(18.0, title="Take Profit % Step 3", group="Take Profit Settings")
takeProfitPercent4 = input.float(50.0, title="Take Profit % Step 4", group="Take Profit Settings")

takeProfitAmount1 = input.float(12, title="Take Profit Amount % Step 1", group="Take Profit Settings")
takeProfitAmount2 = input.float(8, title="Take Profit Amount % Step 2", group="Take Profit Settings")
takeProfitAmount3 = input.float(4, title="Take Profit Amount % Step 3", group="Take Profit Settings")
takeProfitAmount4 = input.float(0, title="Take Profit Amount % Step 4", group="Take Profit Settings")

numberOfSteps = input.int(3, title="Number of Take Profit Steps", minval=1, maxval=4, group="Take Profit Settings")

// Grouping Trade Direction
tradeDirection = input.string("Both", title="Trade Direction", options=["Long", "Short", "Both"], group="Trade Direction")

// Grouping Supertrend settings
atrPeriod1 = input(10, title="ATR Length for Supertrend 1", group="Supertrend Settings")
factor1 = input.float(3.0, title="Factor for Supertrend 1", step=0.01, group="Supertrend Settings")

atrPeriod2 = input(5, title="ATR Length for Supertrend 2", group="Supertrend Settings")
factor2 = input.float(4.0, title="Factor for Supertrend 2", step=0.01, group="Supertrend Settings")


// Function to calculate Supertrend
supertrend(factor, atrPeriod) =>
    [a, direction] = ta.supertrend(factor, atrPeriod)
    direction

// Calculate Double Supertrend
supertrend1 = supertrend(factor1, atrPeriod1)
supertrend2 = supertrend(factor2, atrPeriod2)

// Entry conditions
longCondition = (supertrend1 < 0 and supertrend2 < 0) and (tradeDirection == "Long" or tradeDirection == "Both")
shortCondition = (supertrend1 > 0 and supertrend2 > 0) and (tradeDirection == "Short" or tradeDirection == "Both")

// Exit conditions
longExitCondition = (supertrend1 > 0 and supertrend2 > 0) and (tradeDirection == "Long" or tradeDirection == "Both")
shortExitCondition = (supertrend1 < 0 and supertrend2 < 0) and (tradeDirection == "Short" or tradeDirection == "Both")

// Variables to store the highest and lowest prices during the trade
var float highestPrice = na
var float lowestPrice = na

// Get the entry price from open trades
entryPrice = strategy.opentrades.entry_price(strategy.opentrades - 1)

// Reset highestPrice or lowestPrice when entering new trades
if (longCondition and strategy.position_size <= 0)
    highestPrice := na // Reset the highest price
    strategy.entry("My Long Entry Id", strategy.long) // Enter long position
    strategy.close("My Short Entry Id", "Short Exit") // Close short position if any

if (shortCondition and strategy.position_size >= 0)
    lowestPrice := na // Reset the lowest price
    strategy.entry("My Short Entry Id", strategy.short) // Enter short position
    strategy.close("My Long Entry Id", "Long Exit") // Close long position if any

// Exit trades based on conditions
if (longExitCondition and strategy.position_size > 0)
    strategy.close("My Long Entry Id", "Long Exit") // Exit long position

if (shortExitCondition and strategy.position_size < 0)
    strategy.close("My Short Entry Id", "Short Exit") // Exit short position

if (strategy.position_size > 0)
    // Update the highest price for long positions
    highestPrice := na(highestPrice) ? high : math.max(highestPrice, high)

    // Step 1
    if (useTakeProfit and numberOfSteps >= 1)
        strategy.exit("Take Profit 1", from_entry="My Long Entry Id", qty_percent=takeProfitAmount1, limit=entryPrice * (1 + takeProfitPercent1 / 100))
    // Step 2
    if (useTakeProfit and numberOfSteps >= 2)
        strategy.exit("Take Profit 2", from_entry="My Long Entry Id", qty_percent=takeProfitAmount2, limit=entryPrice * (1 + takeProfitPercent2 / 100))
    // Step 3
    if (useTakeProfit and numberOfSteps >= 3)
        strategy.exit("Take Profit 3", from_entry="My Long Entry Id", qty_percent=takeProfitAmount3, limit=entryPrice * (1 + takeProfitPercent3 / 100))
    // Step 4
    if (useTakeProfit and numberOfSteps == 4)
        strategy.exit("Take Profit 4", from_entry="My Long Entry Id", qty_percent=takeProfitAmount4, limit=entryPrice * (1 + takeProfitPercent4 / 100))

if (strategy.position_size < 0)
    // Update the lowest price for short positions
    lowestPrice := na(lowestPrice) ? low : math.min(lowestPrice, low)

    // Step 1
    if (useTakeProfit and numberOfSteps >= 1)
        strategy.exit("Take Profit 1", from_entry="My Short Entry Id", qty_percent=takeProfitAmount1, limit=entryPrice * (1 - takeProfitPercent1 / 100))
    // Step 2
    if (useTakeProfit and numberOfSteps >= 2)
        strategy.exit("Take Profit 2", from_entry="My Short Entry Id", qty_percent=takeProfitAmount2, limit=entryPrice * (1 - takeProfitPercent2 / 100))
    // Step 3
    if (useTakeProfit and numberOfSteps >= 3)
        strategy.exit("Take Profit 3", from_entry="My Short Entry Id", qty_percent=takeProfitAmount3, limit=entryPrice * (1 - takeProfitPercent3 / 100))
    // Step 4
    if (useTakeProfit and numberOfSteps == 4)
        strategy.exit("Take Profit 4", from_entry="My Short Entry Id", qty_percent=takeProfitAmount4, limit=entryPrice * (1 - takeProfitPercent4 / 100))