
یہ ایک مقداری تجارتی حکمت عملی ہے جو EMA رجحان، سائیکل بریک آؤٹ اور تجارتی سیشن فلٹرنگ کو یکجا کرتی ہے۔ حکمت عملی بنیادی طور پر موونگ ایوریج کے رجحان کی سمت کے فیصلے پر مبنی ہے، اور ٹریڈنگ سگنل کے طور پر کلیدی سائیکل پوزیشن پر قیمت کے بریک تھرو پیٹرن کا استعمال کرتی ہے۔ حکمت عملی خطرات کو کنٹرول کرنے کے لیے فیصد سٹاپ نقصان اور منافع کے طریقے استعمال کرتی ہے۔
حکمت عملی کی بنیادی منطق میں درج ذیل کلیدی عناصر شامل ہیں:
یہ حکمت عملی ایک سے زیادہ میکانزم کو یکجا کر کے ایک منطقی طور پر سخت تجارتی نظام بناتی ہے جیسے کہ اوسط رجحانات، قیمت کے پیٹرن اور ٹائم پیریڈ فلٹرنگ۔ اگرچہ کچھ حدود ہیں، امید کی جاتی ہے کہ حکمت عملی کے استحکام اور منافع میں مسلسل اصلاح اور بہتری کے ذریعے مزید اضافہ کیا جائے گا۔ یہ حکمت عملی درمیانی اور طویل مدتی ٹرینڈ ٹریکنگ سسٹم کے بنیادی فریم ورک کے طور پر موزوں ہے، اور اسے حقیقی تجارتی ضروریات کے مطابق اپنی مرضی کے مطابق اور بہتر بنایا جا سکتا ہے۔
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=6
strategy("The Gold Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// Inputs
roundNumberInterval = input.int(5, title="Round Number Interval ($)", minval=1)
useEMA = input.bool(true, title="Use 20 EMA for Confluence")
emaLength = input.int(20, title="EMA Length")
// Session times for London and NY
londonSession = input("0300-1200", title="London Session (NY Time)")
nySession = input("0800-1700", title="New York Session (NY Time)")
// EMA Calculation
emaValue = ta.ema(close, emaLength)
// Plot Round Number Levels
roundLow = math.floor(low / roundNumberInterval) * roundNumberInterval
roundHigh = math.ceil(high / roundNumberInterval) * roundNumberInterval
// for level = roundLow to roundHigh by roundNumberInterval
// line.new(x1=bar_index - 1, y1=level, x2=bar_index, y2=level, color=color.new(color.gray, 80), extend=extend.both)
// Session Filter
inLondonSession = not na(time("1", londonSession))
inNYSession = not na(time("1", nySession))
inSession = true
// Detect Bullish and Bearish Engulfing patterns
bullishEngulfing = close > open[1] and open < close[1] and close > emaValue and inSession
bearishEngulfing = close < open[1] and open > close[1] and close < emaValue and inSession
// Entry Conditions
if bullishEngulfing
strategy.entry("Long", strategy.long, comment="Bullish Engulfing with EMA Confluence")
if bearishEngulfing
strategy.entry("Short", strategy.short, comment="Bearish Engulfing with EMA Confluence")
// Stop Loss and Take Profit
stopLossPercent = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100
takeProfitPercent = input.float(1.5, title="Take Profit (%)", minval=0.1) / 100
strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent), limit=close * (1 + takeProfitPercent))
strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent), limit=close * (1 - takeProfitPercent))