
حکمت عملی ایک اعلی تعدد تجارتی نظام ہے جس کی بنیاد مختصر مدت کے ایکسپونینشل موونگ ایوریج (EMA) کراس اوور سگنلز پر ہوتی ہے۔ یہ قلیل مدتی مارکیٹ کے اتار چڑھاو کو تیزی سے پکڑنے کے لیے متحرک پوزیشن مینجمنٹ اور سخت رسک کنٹرول کے ساتھ انکولی اتار چڑھاؤ سے باخبر رہنے کے طریقہ کار کو یکجا کرتا ہے۔ یہ حکمت عملی 1 منٹ یا 5 منٹ جیسے مختصر وقت کے فریموں پر چلتی ہے، اور یہ ان فعال تاجروں کے لیے موزوں ہے جو بار بار تجارت کے مواقع تلاش کرتے ہیں۔
حکمت عملی کی بنیادی منطق تیز EMA (3-period) اور سست EMA (8-period) کے کراس اوور سگنلز پر مبنی ہے۔ جب تیز لائن سست لائن کے نیچے سے گزرتی ہے تو، ایک لمبا سگنل پیدا ہوتا ہے؛ جب تیز لائن سست لائن کے نیچے سے گزرتی ہے، تو ایک مختصر سگنل پیدا ہوتا ہے۔ حکمت عملی مارکیٹ کے اتار چڑھاؤ کی پیمائش کرنے کے لیے ATR اشارے کا استعمال کرتی ہے اور اس کے مطابق سٹاپ نقصان اور منافع کے اہداف کو متحرک طور پر سیٹ کرتی ہے۔ یہ نظام دو طریقوں کو سپورٹ کرتا ہے: فکسڈ کنٹریکٹ کوانٹیٹی ٹریڈنگ اور اکاؤنٹ ایکویٹی پر مبنی ڈائنامک پوزیشن مینجمنٹ۔ ڈائنامک پوزیشن موڈ میں، ہر ٹرانزیکشن کے خطرے کو اکاؤنٹ ایکویٹی کے 0.5% کے اندر کنٹرول کیا جاتا ہے۔ حکمت عملی 1.2 گنا کا رسک ریوارڈ ریشو استعمال کرتی ہے اور موونگ سٹاپ نقصان کے لیے ٹریکنگ فاصلے کے طور پر 1.5 گنا ATR کو یکجا کرتی ہے۔
یہ حکمت عملی قلیل مدتی EMA کراس اوور سگنلز اور متحرک رسک مینجمنٹ کو ملا کر ایک مکمل ہائی فریکونسی ٹریڈنگ سسٹم بناتی ہے۔ حکمت عملی کے فوائد فوری ردعمل اور سخت رسک کنٹرول ہیں، لیکن غلط سگنلز اور لین دین کے اخراجات جیسے مسائل پر توجہ دینا بھی ضروری ہے۔ مسلسل اصلاح اور پیرامیٹر ایڈجسٹمنٹ کے ذریعے، حکمت عملی مختلف مارکیٹ کے ماحول کو بہتر طریقے سے ڈھال سکتی ہے اور تجارتی کارکردگی اور استحکام کو بہتر بنا سکتی ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High-Frequency EMA Scalping Strategy - Adjustable Contracts", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// Input parameters
fastEmaLength = input.int(3, title="Fast EMA Length", minval=1)
slowEmaLength = input.int(8, title="Slow EMA Length", minval=1)
atrLength = input.int(10, title="ATR Length", minval=1)
riskRewardRatio = input.float(1.2, title="Risk/Reward Ratio", minval=1)
useDynamicPositionSizing = input.bool(false, title="Use Dynamic Position Sizing?")
fixedContracts = input.int(1, title="Number of Contracts (if Fixed)", minval=1) // Fixed number of contracts
// Calculate EMA values
fastEma = ta.ema(close, fastEmaLength)
slowEma = ta.ema(close, slowEmaLength)
// Calculate ATR for dynamic stop-loss and take-profit
atr = ta.atr(atrLength)
// Dynamic position sizing (if enabled)
capital = strategy.equity
riskPerTrade = capital * 0.005 // Risk 0.5% per trade
dynamicTradeQty = riskPerTrade / (atr * 1.5)
// Use fixed or dynamic position sizing
tradeQty = useDynamicPositionSizing ? dynamicTradeQty : fixedContracts
// Entry conditions
longCondition = ta.crossover(fastEma, slowEma)
shortCondition = ta.crossunder(fastEma, slowEma)
// Long trade execution
if longCondition
risk = atr * 1.0
reward = risk * riskRewardRatio
strategy.entry("Long", strategy.long, qty=tradeQty)
strategy.exit("Trailing Stop Long", from_entry="Long", trail_points=atr * 1.5, trail_offset=atr * 1.0)
strategy.exit("Take Profit", from_entry="Long", limit=close + reward, stop=close - risk)
// Short trade execution
if shortCondition
risk = atr * 1.0
reward = risk * riskRewardRatio
strategy.entry("Short", strategy.short, qty=tradeQty)
strategy.exit("Trailing Stop Short", from_entry="Short", trail_points=atr * 1.5, trail_offset=atr * 1.0)
strategy.exit("Take Profit", from_entry="Short", limit=close - reward, stop=close + risk)
// Plot EMA lines for reference
plot(fastEma, color=color.blue, title="Fast EMA")
plot(slowEma, color=color.red, title="Slow EMA")