لیورجڈ مارٹنگل فیوچر ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-26 11:12:23
ٹیگز:

img

جائزہ

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

اصول

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

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

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

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

یہ خام مال اور دیگر اعلی اتار چڑھاؤ والے بازاروں کے لئے بھی اچھی طرح کام کرتا ہے ، لیوریج کے ذریعہ منافع / نقصانات کو بڑھا دیتا ہے۔

خطرے کا تجزیہ

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

ایک اور خطرہ یہ ہے کہ واپسی سے پہلے زیادہ سے زیادہ آرڈر کی مقدار کو سپورٹ کرنے کے لئے کافی سرمایہ نہیں ہے۔ اس کے لئے مناسب فنڈنگ کی ضرورت ہے۔

بہتری کے شعبے

حکمت عملی کو مزید بہتر بنانے کے کچھ طریقے:

  1. متحرک طور پر لیوریج کی سطح کو ایڈجسٹ کریں، منافع کے وقت کم اور نقصان کے وقت زیادہ

  2. جب رجحان واضح نہ ہو تو نقصان کو روکنے کے لئے رجحان کے اشارے شامل کریں

  3. مارکیٹ کی اتار چڑھاؤ کی بنیاد پر سٹاپ نقصان کی چوڑائی مقرر کریں، اتار چڑھاؤ کی صورت میں وسیع تر

  4. انتہائی نقصانات کو محدود کرنے کے لئے آٹو سٹاپ نقصان ماڈیولز شامل کریں

خلاصہ

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


/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Leveraged Martingale Strategy with Fees", overlay=true)

// User-defined input parameters
var float takeProfitPct = input(2.0, title="Take Profit Percentage") / 100.0
var float positionMultiplier = input(2.0, title="Position Size Multiplier")
var int maxOrders = input(10, title="Maximum Number of Reinforced Orders")
var float tradeSizeUSD = input(10000.0, title="Trade Size in USD")
var float dropPctForNextTrade = input(1.0, title="Drop Percentage for Next Trade") / 100.0
var float leverage = input(5.0, title="Leverage Factor")
var bool enterAtCurrentPrice = input(true, title="Enter First Trade at Current Price")
var float takerFeePct = input(0.1, title="Taker Order Fee Percentage") / 100.0

// State variables
var float last_entry_price = na
var float avg_entry_price = na
var float total_position_size = 0.0
var int num_trades = 0

// Entry logic
if (num_trades == 0)
    if (enterAtCurrentPrice or close < last_entry_price * (1 - dropPctForNextTrade))
        float size = tradeSizeUSD / close * leverage
        strategy.entry("Long", strategy.long, qty=size)
        avg_entry_price := close
        total_position_size := size
        last_entry_price := close
        num_trades := 1
else if (close < last_entry_price * (1 - dropPctForNextTrade) and num_trades < maxOrders)
    float size = tradeSizeUSD / close * leverage * pow(positionMultiplier, num_trades)
    strategy.entry("Double Long" + tostring(num_trades), strategy.long, qty=size)
    avg_entry_price := ((avg_entry_price * total_position_size) + (close * size)) / (total_position_size + size)
    total_position_size := total_position_size + size
    last_entry_price := close
    num_trades := num_trades + 1

// Take profit logic adjusted for leverage and fees
var float take_profit_price = na
var float fee_deduction = na
if (num_trades > 0)
    take_profit_price := avg_entry_price * (1 + takeProfitPct / leverage)
    fee_deduction := total_position_size * close * takerFeePct
    if (close > take_profit_price + fee_deduction / total_position_size)
        strategy.close_all()
        num_trades := 0


مزید