یہ فیوچر ٹریڈنگ کی حکمت عملی ہے جو اعلی منافع حاصل کرنے کے لئے مارٹنگیل میکانزم کا فائدہ اٹھاتی ہے۔ یہ منافع کے اہداف کو پورا کرنے کے لئے کھونے پر پوزیشنوں کو بڑھانے کے لئے پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کرتی ہے۔
اس حکمت عملی کا بنیادی منطق یہ ہے کہ: جب قیمت اسٹاپ نقصان لائن کو متحرک کرتی ہے تو ، اسٹاپ نقصان لائن کو ایک خاص فیصد کم کرتے ہوئے بڑے سائز کے ساتھ پوزیشنوں کو دوبارہ کھولیں۔ پوزیشن سائز میں اضافہ کرکے ، اس کا مقصد اوسط اندراج کی قیمت کو کم کرنا ہے۔ جب پوزیشنوں کی تعداد مقررہ زیادہ سے زیادہ احکامات تک پہنچ جاتی ہے تو ، یہ منافع حاصل کرنے کے لئے قیمت کے الٹ جانے کا انتظار کرتا ہے۔
خاص طور پر ، یہ پہلے مقررہ پوزیشن کے سائز کے ساتھ موجودہ قیمت پر داخل ہوتا ہے اور منافع / نقصان کی سطح حاصل کرتا ہے۔ جب قیمت اسٹاپ نقصان کی لائن پر منتقل ہوتی ہے تو ، بڑی پوزیشنیں دوبارہ کھولی جائیں گی اور اسٹاپ نقصان کی لائن کو ایک مقررہ فیصد کم کردیا جاتا ہے۔ اس طرح کے دوبارہ کھولنے اور اسٹاپ نقصان کو کم کرنے کے عمل سے اوسط افتتاحی قیمت کم ہوجائے گی ، منافع کی صلاحیت میں اضافہ ہوگا۔ اضافی احکامات کی تعداد زیادہ سے زیادہ ہونے کے بعد ، یہ منافع حاصل کرنے کے لئے قیمت کی الٹ کا انتظار کرتا ہے۔
سب سے بڑا فائدہ لیوریجڈ دوبارہ کھولنے کے ذریعے لاگت کی بنیاد کو کم کرنے کی صلاحیت ہے ، جبکہ جب رجحانات منفی ہوتے ہیں تو پھر بھی سازگار الٹ جانے کا موقع ملتا ہے۔ مناسب اسٹاپ نقصان / منافع کی سطحوں کو طے کرکے بھی ، یہ خطرات کو مؤثر طریقے سے کنٹرول کرتا ہے۔
یہ خام مال اور دیگر اعلی اتار چڑھاؤ والے بازاروں کے لئے بھی اچھی طرح کام کرتا ہے ، لیوریج کے ذریعہ منافع / نقصانات کو بڑھا دیتا ہے۔
اہم خطرہ یہ ہے کہ دوبارہ کھولنے کے بعد قیمت میں کمی کا رجحان جاری رہ سکتا ہے ، یہاں تک کہ پچھلے اسٹاپ نقصان کی سطح کو توڑ کر ، بڑے نقصانات کا باعث بن سکتا ہے۔ اس کو زیادہ سے زیادہ اسٹاپ نقصان کا فیصد ، چھوٹا فائدہ اٹھانے کا تناسب وغیرہ مقرر کرکے کم کیا جاسکتا ہے۔
ایک اور خطرہ یہ ہے کہ واپسی سے پہلے زیادہ سے زیادہ آرڈر کی مقدار کو سپورٹ کرنے کے لئے کافی سرمایہ نہیں ہے۔ اس کے لئے مناسب فنڈنگ کی ضرورت ہے۔
حکمت عملی کو مزید بہتر بنانے کے کچھ طریقے:
متحرک طور پر لیوریج کی سطح کو ایڈجسٹ کریں، منافع کے وقت کم اور نقصان کے وقت زیادہ
جب رجحان واضح نہ ہو تو نقصان کو روکنے کے لئے رجحان کے اشارے شامل کریں
مارکیٹ کی اتار چڑھاؤ کی بنیاد پر سٹاپ نقصان کی چوڑائی مقرر کریں، اتار چڑھاؤ کی صورت میں وسیع تر
انتہائی نقصانات کو محدود کرنے کے لئے آٹو سٹاپ نقصان ماڈیولز شامل کریں
یہ ایک عام لیوریجڈ مارٹنگیل ٹریڈنگ حکمت عملی ہے۔ اضافی احکامات کے ذریعے لاگت کو کم کرکے ، یہ زیادہ منافع حاصل کرتا ہے لیکن خطرات بھی متعارف کراتا ہے۔ پیرامیٹر ٹیوننگ اور فیچر کی توسیع کے ذریعہ زیادہ مارکیٹ کے حالات کے مطابق اصلاح کے لئے ابھی بھی گنجائش ہے۔
/*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