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