یہ ایک ذہین گردش کی حکمت عملی ہے جو وقت کی مدت پر مبنی ہے جس کا مقصد مخصوص مدت کے اندر طویل مختصر گردش کی تجارت کے ذریعے منافع پیدا کرنا ہے۔ یہ حکمت عملی ایک لچکدار پوزیشن مینجمنٹ میکانزم کو استعمال کرتی ہے جو خطرہ کنٹرول افعال کو شامل کرتے ہوئے مارکیٹ کے حالات کے مطابق خود بخود تجارت کی سمت کو ایڈجسٹ کرسکتی ہے۔ یہ دو طرفہ تجارت اور اختیاری سوئنگ ٹریڈنگ موڈ کی حمایت کرتی ہے ، جس سے مضبوط موافقت کا مظاہرہ ہوتا ہے۔
حکمت عملی بنیادی طور پر وقت کی مدت اور پوزیشن کی حیثیت کے ذریعے تجارت کو کنٹرول کرتی ہے۔ سب سے پہلے ، فعال مدت (() فنکشن اس بات کا تعین کرتا ہے کہ آیا تجارت آخری 500 باروں کے موثر تجارتی وقفے کے اندر ہے۔ مؤثر وقفے کے اندر ، حکمت عملی پوزیشن کی حیثیت (positionHeld) ، ہولڈنگ ٹائم (barsHeld) ، اور وقفے کا وقت (barsPaused) جیسے متغیرات کی بنیاد پر تجارتی اقدامات کا فیصلہ کرتی ہے۔ جب سوئنگ ٹریڈنگ موڈ فعال ہوتا ہے تو ، حکمت عملی طویل اور مختصر سمتوں کے درمیان تیزی سے گھومتی ہے۔ جب غیر فعال ہوجاتی ہے تو ، پوزیشن 3 ادوار کے بعد بند ہوجاتی ہیں اور نئے تجارتی مواقع کا انتظار کرتی ہیں۔
یہ حکمت عملی وقت کی مدت پر قابو پانے اور طویل مختصر گردش کے ذریعے مارکیٹ کی واپسی حاصل کرتی ہے ، جس سے مضبوط لچک اور موافقت کا مظاہرہ ہوتا ہے۔ اگرچہ کچھ خطرات موجود ہیں ، لیکن حکمت عملی کی استحکام اور منافع کو مناسب اصلاح اور رسک کنٹرول کے اقدامات کے ذریعے نمایاں طور پر بہتر بنایا جاسکتا ہے۔ بنیادی فائدہ اس کی سادہ لیکن موثر تجارتی منطق میں ہے ، جو اسے مزید اصلاح اور توسیع کے لئے ایک بنیاد کی حکمت عملی کے طور پر موزوں بناتا ہے۔
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Tickerly Test Strategy", overlay=true) // Inputs longEnabled = input.bool(true, "Enable Long Trades") shortEnabled = input.bool(true, "Enable Short Trades") swingEnabled = input.bool(false, "Enable Swing Trading") // Variables var positionHeld = 0 var barsHeld = 0 var barsPaused = 0 var lastAction = "none" // Function to determine if we're in the last 500 bars inActivePeriod() => barIndex = bar_index lastBarIndex = last_bar_index barIndex >= (lastBarIndex - 499) // Main strategy logic if inActivePeriod() if swingEnabled if positionHeld == 0 and barstate.isconfirmed if lastAction != "long" strategy.entry("Long", strategy.long) positionHeld := 1 barsHeld := 0 lastAction := "long" else strategy.entry("Short", strategy.short) positionHeld := -1 barsHeld := 0 lastAction := "short" if positionHeld != 0 barsHeld += 1 if barsHeld >= 2 if positionHeld == 1 strategy.entry("Short", strategy.short) positionHeld := -1 barsHeld := 0 lastAction := "short" else strategy.entry("Long", strategy.long) positionHeld := 1 barsHeld := 0 lastAction := "long" else if positionHeld == 0 and barsPaused >= 1 and barstate.isconfirmed if longEnabled and shortEnabled if lastAction != "long" strategy.entry("Long", strategy.long) positionHeld := 1 barsHeld := 0 barsPaused := 0 lastAction := "long" else strategy.entry("Short", strategy.short) positionHeld := -1 barsHeld := 0 barsPaused := 0 lastAction := "short" else if longEnabled strategy.entry("Long", strategy.long) positionHeld := 1 barsHeld := 0 barsPaused := 0 lastAction := "long" else if shortEnabled strategy.entry("Short", strategy.short) positionHeld := -1 barsHeld := 0 barsPaused := 0 lastAction := "short" if positionHeld != 0 barsHeld += 1 if barsHeld >= 3 strategy.close_all() positionHeld := 0 barsHeld := 0 barsPaused := 0 // Reset pause counter when exiting a position else barsPaused += 1 // Plotting active period for visual confirmation plot(inActivePeriod() ? 1 : 0, "Active Period", color=color.new(color.blue, 80), style=plot.style_areabr)