
یہ حکمت عملی ایک ٹرینڈ ٹریکنگ سسٹم ہے جو ٹریڈنگ منافع کو بہتر بنانے کے لئے مرحلہ وار باہر نکلنے کے طریقہ کار کے ساتھ مل کر دو انڈیکس حرکت پذیر اوسط ((EMA) کراسنگ پر مبنی ہے۔ حکمت عملی 9 سائیکل اور 21 سائیکل ای ایم اے کو فوری لائن اور سست لائن کے طور پر استعمال کرتی ہے ، ان کے کراسنگ کے ذریعہ مارکیٹ کے رجحانات میں تبدیلیوں کی نشاندہی کرتی ہے ، جبکہ دو مرحلے میں پوزیشن سے باہر نکلنے کا طریقہ استعمال کرتے ہوئے خطرہ اور منافع کو متوازن کرتی ہے۔
حکمت عملی کا بنیادی منطق تیز EMA ((9 سائیکل) اور سست EMA ((21 سائیکل) کے کراس سگنل پر مبنی ہے۔ جب تیز لائن پر سست لائن سے گزرے تو نظام 0.02 ہاتھ سے کثیر پوزیشن کھولتا ہے۔ جب تیز لائن کے نیچے سست لائن سے گزرے تو نظام 0.02 ہاتھ سے خالی پوزیشن کھولتا ہے۔ پوزیشن رکھنے کے دوران ، حکمت عملی دو مرحلے میں نکلنے کا طریقہ کار استعمال کرتی ہے۔ پہلا مرحلہ 200 پوائنٹس تک پہنچنے پر نصف پوزیشن کو صاف کرنا ہے ((0.01 ہاتھ) ؛ دوسرا مرحلہ جب ریورس کراس سگنل ہوتا ہے تو باقی پوزیشنوں کو صاف کرنا ہے۔ اس طرح کے پیچھے ہٹنے کا ڈیزائن لچکدار جگہ کو برقرار رکھنے کے لئے ڈیزائن کیا گیا ہے جبکہ منافع کا کچھ حصہ کو لاک کرنا ہے۔
یہ ایک مکمل ٹریڈنگ سسٹم ہے جو کلاسیکی مساوی لائن کراسنگ حکمت عملی کو جدید پوزیشن مینجمنٹ کے ساتھ جوڑتا ہے۔ حکمت عملی مرحلہ وار باہر نکلنے کے طریقہ کار کے ذریعہ روایتی مساوی لائن کراسنگ حکمت عملی کی منافع بخش صلاحیت کو بڑھا دیتی ہے ، لیکن اس کے باوجود تاجر کو مخصوص مارکیٹ کے حالات اور اپنی خطرے کی برداشت کی صلاحیت کے مطابق مناسب ایڈجسٹمنٹ کرنے کی ضرورت ہے۔ مستقبل کی اصلاح کی سمت بنیادی طور پر سگنل فلٹرنگ اور متحرک خطرے کے انتظام دونوں پہلوؤں پر مرکوز ہے۔
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("EMA Crossover with Partial Exit", overlay=true, default_qty_type=strategy.cash, default_qty_value=50)
// Define lot sizes
lotSize = 0.02 // Initial trade size
partialLot = 0.01 // Half quantity to close at 20 pips profit
profitTarget = 200 // 20 pips = 200 points (for Forex, adjust accordingly)
// Define EMA lengths
fastLength = 9
slowLength = 21
// Compute EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Define crossover conditions
longEntry = ta.crossover(fastEMA, slowEMA) // Buy when 9 EMA crosses above 21 EMA
shortEntry = ta.crossunder(fastEMA, slowEMA) // Sell when 9 EMA crosses below 21 EMA
// Track trade state
var float entryPrice = na
var bool inTrade = false
var bool isLong = false
// Entry Logic (Enter with 0.02 lot size)
if (longEntry and not inTrade)
strategy.entry("Long", strategy.long, qty=lotSize)
entryPrice := close
inTrade := true
isLong := true
if (shortEntry and not inTrade)
strategy.entry("Short", strategy.short, qty=lotSize)
entryPrice := close
inTrade := true
isLong := false
// Partial Exit Logic (Close 0.01 lot after 20 pips profit)
if (isLong and inTrade and close >= entryPrice + profitTarget * syminfo.mintick)
strategy.close("Long", qty=partialLot)
if (not isLong and inTrade and close <= entryPrice - profitTarget * syminfo.mintick)
strategy.close("Short", qty=partialLot)
// Full Exit (Close remaining 0.01 lot at the next major crossover)
if (isLong and shortEntry)
strategy.close("Long") // Close remaining position
inTrade := false
if (not isLong and longEntry)
strategy.close("Short") // Close remaining position
inTrade := false
// Plot EMAs
plot(fastEMA, color=color.blue, title="9 EMA")
plot(slowEMA, color=color.red, title="21 EMA")
// Mark Buy/Sell Signals
plotshape(series=longEntry, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal")
plotshape(series=shortEntry, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal")