
یہ میٹروبونز 1 ٹائی حکمت عملی ٹیسٹر پر مبنی تیار کردہ ایک اعلی درجے کی مقداری تجارت کی حکمت عملی ہے۔ اس حکمت عملی کی اہم خصوصیات یہ ہیں کہ اس میں کثیر درجے کے منافع بخش اہداف اور متحرک اسٹاپ نقصان کا میکانزم موجود ہے ، جبکہ بیرونی اشارے کے اشارے کے ساتھ انضمام کی لچک کو برقرار رکھا گیا ہے۔ حکمت عملی میں زیادہ سے زیادہ تین منافع بخش اہداف کی پوزیشنوں کی حمایت کی جاتی ہے ، اور اختیاری طور پر اشارے پر مبنی اسٹاپ نقصان کا محرک استعمال کیا جاتا ہے ، جب اضافی سگنل کی تصدیق کے ذریعہ تجارت کو فلٹر کیا جاتا ہے۔
حکمت عملی کا بنیادی منطق ایک کثیر درجے کے باہر نکلنے کے طریقہ کار کے گرد گھومتا ہے۔ داخلہ کے معاملے میں ، حکمت عملی لانگ انٹری اور شارٹ انٹری دونوں ان پٹ کے ذریعہ کثیر اور خالی تجارت کے سگنل کو متحرک کرتی ہے۔ ہر تجارت کی سمت کے لئے ، حکمت عملی میں تین آزاد منافع بخش اہداف مرتب کیے گئے ہیں ((TP1 ، TP2 ، TP3) ، اور ہر مقصد کو بیرونی اشارے کے اشارے کی بنیاد پر متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔ اس کے ساتھ ہی ، حکمت عملی میں متحرک اسٹاپ نقصان کا طریقہ کار متعارف کرایا گیا ہے ، جس سے اسٹاپ نقصان کی پوزیشن کو مارکیٹ کے لچکدار حالات کے مطابق ایڈجسٹ کیا جاسکتا ہے۔ حکمت عملی میں ایک کنفلوئنس پر مبنی فلٹرنگ کا طریقہ کار بھی لاگو کیا گیا ہے ، جس میں تجارت کو متحرک کرنے کے لئے متعدد اشارے کی مشترکہ تصدیق کی ضرورت ہے۔
اس حکمت عملی میں ایک کثیر درجے کے منافع بخش اہداف اور متحرک اسٹاپ نقصان کے طریقہ کار کے ذریعہ ایک جامع تجارتی فریم ورک فراہم کیا گیا ہے۔ حکمت عملی کی طاقت اس کی لچک اور تخصیص پذیری میں ہے ، لیکن اس کے ساتھ ساتھ پیرامیٹرز کی اصلاح اور مارکیٹ کی موافقت کے معاملات کو بھی محتاط طریقے سے سنبھالنا ہوگا۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، حکمت عملی اس کی استحکام اور موافقت کو مزید بڑھا سکتی ہے ، اور ایک بہتر تجارتی نظام بن سکتی ہے۔
/*backtest
start: 2025-02-04 00:00:00
end: 2025-02-18 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Enhanced Strategy Tester with multi TP and SL Trigger", overlay=true, margin_long=100, margin_short=100)
// Entry Signals
longEntry = input.source(close, 'Long Entry Trigger', 'long signal source')
shortEntry = input.source(close, 'Short Entry Trigger', 'short signal source')
// Exit Triggers
activateLongExit = input.bool(false, 'Activate Long Exit Signals')
longExit1 = input.source(high, 'Long Exit TP1')
longExit2 = input.source(high, 'Long Exit TP2')
longExit3 = input.source(high, 'Long Exit TP3')
activateShortExit = input.bool(false, 'Activate Short Exit Signals')
shortExit1 = input.source(low, 'Short Exit TP1')
shortExit2 = input.source(low, 'Short Exit TP2')
shortExit3 = input.source(low, 'Short Exit TP3')
// Stop Loss from External Indicator
useSLSignal = input.bool(false, 'Activate SL Signal')
slSignal = input.source(low, 'SL', 'SL Signal Source')
// Long Entry Condition
longCondition = not na(longEntry) and longEntry > 0
if (longCondition and strategy.opentrades == 0)
strategy.entry('long', strategy.long)
strategy.exit('exit_long_tp1', 'long', limit=longExit1, comment='TP1 hit')
strategy.exit('exit_long_tp2', 'long', limit=longExit2, comment='TP2 hit')
strategy.exit('exit_long_tp3', 'long', limit=longExit3, comment='TP3 hit')
strategy.exit('exit_long_sl', 'long', stop=useSLSignal ? slSignal : na, comment='SL hit')
// Long Exit Condition
if (activateLongExit)
if (not na(longExit1) and longExit1 > 0)
strategy.close('long', comment='TP1 at Exit')
if (not na(longExit2) and longExit2 > 0)
strategy.close('long', comment='TP2 at Exit')
if (not na(longExit3) and longExit3 > 0)
strategy.close('long', comment='TP3 at Exit')
// Short Entry Condition
shortCondition = not na(shortEntry) and shortEntry > 0
if (shortCondition and strategy.opentrades == 0)
strategy.entry('short', strategy.short)
strategy.exit('exit_short_tp1', 'short', limit=shortExit1, comment='TP1 hit')
strategy.exit('exit_short_tp2', 'short', limit=shortExit2, comment='TP2 hit')
strategy.exit('exit_short_tp3', 'short', limit=shortExit3, comment='TP3 hit')
strategy.exit('exit_short_sl', 'short', stop=useSLSignal ? slSignal : na, comment='SL hit')
// Short Exit Condition
if (activateShortExit)
if (not na(shortExit1) and shortExit1 > 0)
strategy.close('short', comment='TP1 at Exit')
if (not na(shortExit2) and shortExit2 > 0)
strategy.close('short', comment='TP2 at Exit')
if (not na(shortExit3) and shortExit3 > 0)
strategy.close('short', comment='TP3 at Exit')