
اس حکمت عملی میں قیمتوں کے رجحان میں تبدیلی کو پکڑنے کے لئے دو اشاریہ حرکت پذیر اوسط ((EMA) کا استعمال کیا جاتا ہے۔ جب قلیل مدتی EMA طویل مدتی EMA کو نیچے سے عبور کرتا ہے تو ، خریدنے کا اشارہ ہوتا ہے۔ جب قلیل مدتی EMA طویل مدتی EMA کو اوپر سے نیچے سے عبور کرتا ہے تو ، فروخت کا اشارہ ہوتا ہے۔ اس حکمت عملی میں ایک ہی دن میں ہونے والے نقصان اور منافع کو کنٹرول کرنے کے لئے روزانہ اسٹاپ نقصان اور اسٹاپ کی حد مقرر کی جاتی ہے۔
ای ایم اے ڈبل اوسط لائن کراسنگ حکمت عملی ایک سادہ اور سمجھنے میں آسان ٹریڈنگ حکمت عملی ہے جو رجحان کی منڈیوں کے لئے موزوں ہے۔ تیز اور آہستہ اوسط لائن کراسنگ کے ذریعہ ، قیمت کے رجحان میں تبدیلی کو بہتر طور پر پکڑ سکتا ہے۔ اس کے علاوہ ، روزانہ اسٹاپ اور اسٹاپ کی ترتیب خطرے کو مؤثر طریقے سے کنٹرول کرسکتی ہے۔ تاہم ، یہ حکمت عملی غیر مستحکم مارکیٹ یا رجحان میں تبدیلی کے دوران خراب کارکردگی کا مظاہرہ کرسکتی ہے ، جس میں دیگر تکنیکی اشارے اور تجزیاتی طریقوں کے ساتھ مل کر اصلاح اور بہتری کی ضرورت ہے۔
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DD173838
//@version=5
strategy("Moving Average Strategy with Daily Limits", overlay=true)
// Moving Average settings
shortMaLength = input.int(9, title="Short MA Length")
longMaLength = input.int(21, title="Long MA Length")
// Calculate MAs
shortMa = ta.ema(close, shortMaLength)
longMa = ta.ema(close, longMaLength)
// Plot MAs
plot(shortMa, title="9 EMA", color=color.blue)
plot(longMa, title="21 EMA", color=color.red)
// Strategy conditions
crossUp = ta.crossover(shortMa, longMa)
crossDown = ta.crossunder(shortMa, longMa)
// Debug plots to check cross conditions
plotshape(series=crossUp, title="Cross Up", location=location.belowbar, color=color.green, style=shape.labelup, text="UP")
plotshape(series=crossDown, title="Cross Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="DOWN")
// Entry at cross signals
if (crossUp)
strategy.entry("Long", strategy.long)
if (crossDown)
strategy.entry("Short", strategy.short)
// Daily drawdown and profit limits
var float startOfDayEquity = na
if (na(startOfDayEquity) or ta.change(time('D')) != 0)
startOfDayEquity := strategy.equity
maxDailyLoss = 50000 * 0.0025
maxDailyProfit = 50000 * 0.02
currentDailyPL = strategy.equity - startOfDayEquity
if (currentDailyPL <= -maxDailyLoss)
strategy.close_all(comment="Max Daily Loss Reached")
if (currentDailyPL >= maxDailyProfit)
strategy.close_all(comment="Max Daily Profit Reached")