یہ حکمت عملی بینک نیفٹی فیوچر کے لئے ایس ایم اے پر مبنی تجارتی حکمت عملی ہے۔ اس حکمت عملی کا بنیادی خیال ایس ایم اے کو رجحان اشارے کے طور پر استعمال کرنا ہے ، جب قیمت ایس ایم اے سے اوپر کی حد کو عبور کرتی ہے اور جب قیمت ایس ایم اے سے نیچے کی حد کو عبور کرتی ہے تو مختصر ہوجاتی ہے۔ ایک ہی وقت میں ، حکمت عملی خطرے کو کنٹرول کرنے اور منافع میں مقفل کرنے کے لئے اسٹاپ نقصان اور منافع لینے کی شرائط بھی طے کرتی ہے۔
اس حکمت عملی کا بنیادی مقصد ایس ایم اے کو رجحان اشارے کے طور پر استعمال کرنا ہے۔ خاص طور پر ، حکمت عملی پہلے ایک مخصوص مدت کے ایس ایم اے کا حساب لگاتی ہے (ڈیفالٹ 200 ہے) ، اور پھر قیمت اور ایس ایم اے کی رشتہ دار پوزیشن کی بنیاد پر رجحان کی سمت کا تعین کرتی ہے۔ جب قیمت ایس ایم اے سے اوپر کی طرف بڑھتی ہے تو ، یہ سمجھا جاتا ہے کہ ایک عروج کا رجحان تشکیل پا گیا ہے ، اور ایک لمبی پوزیشن لی جاتی ہے۔ جب قیمت ایس ایم اے سے نیچے کی طرف بڑھتی ہے تو ، یہ سمجھا جاتا ہے کہ ایک نیچے کا رجحان تشکیل پا گیا ہے ، اور ایک مختصر پوزیشن لی جاتی ہے۔ اس کے علاوہ ، حکمت عملی خطرے کو کنٹرول کرنے اور منافع میں تالا لگانے کے لئے اسٹاپ نقصان اور منافع لینے کی شرائط بھی طے کرتی ہے۔ اسٹاپ نقصان کی شرائط میں شامل ہیں: قیمت ایس ایم اے کو ایک خاص حد تک توڑنا (سٹاپ نقصان بفر پیرامیٹر
یہ حکمت عملی ایس ایم اے پر مبنی ایک سادہ تجارتی حکمت عملی ہے ، جو بینک نیفٹی فیوچر کے لئے موزوں ہے۔ اس کے فوائد اس کے آسان اصول ، مضبوط موافقت اور رسک کنٹرول کے اقدامات میں ہیں۔ تاہم ، عملی درخواست میں ، اب بھی ممکنہ خطرات جیسے پیرامیٹر کی اصلاح ، دوڑ دوڑ کرنے والی منڈیوں ، رجحان کے الٹ ، اور انٹرا ڈے اتار چڑھاؤ پر توجہ دینے کی ضرورت ہے۔ مستقبل میں ، حکمت عملی کو پیرامیٹر کی اصلاح ، دوسرے اشارے کے ساتھ امتزاج ، متحرک اسٹاپ نقصان ، اور تجارتی وقت کو محدود کرنے جیسے پہلوؤں سے بہتر اور بہتر بنایا جاسکتا ہے۔
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Bhasker_S //@version=5 strategy("Strategy BankNifty SMA", overlay=true, margin_long=100, margin_short=100) src = input(close, title="Source") timeFrame = input.timeframe(defval='5', title = "Select Chart Timeframe") typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) len = input.int(200, minval=1, title="Length", step = 10) alertPrecision = input.float(0, "Alert Precision", minval = 0, maxval = 50, step=1) slTimeFrame = input.timeframe(defval='1', title = "Select Stoploss Candle Timeframe") slBuffer = input.float(0, "Stop Loss Buffer", minval = 0, maxval = 50, step = 1) targetSlab = input.float(150, "Target Price", minval = 1, maxval = 2000, step = 10) Stoploss = input.float(20, "Stop Loss", minval = 1, maxval = 2000, step = 5) offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) //out = ta.sma(src, len) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) tfSource = request.security(syminfo.tickerid, timeFrame, src, barmerge.gaps_on, barmerge.lookahead_off) mySMA = ma(tfSource, len, typeMA) plot(mySMA, color=color.rgb(243, 33, 89), title="MA", offset=offset, linewidth = 2) slClose = request.security(syminfo.tickerid, slTimeFrame, src, barmerge.gaps_on, barmerge.lookahead_off) highTravel = low > mySMA lowTravel = high < mySMA touchabove = (((high[1] + alertPrecision) > mySMA[1]) and (low[1] < mySMA[1])) //and (high[2] < mySMA[2]) touchbelow = (((low[1] - alertPrecision) < mySMA[1]) and (high[1] > mySMA[1])) //and (low[2] > mySMA[2]) crossabove = math.min(open, close) > mySMA crossbelow = math.max(open, close) < mySMA upalert = (touchabove or touchbelow) and crossabove downalert = (touchabove or touchbelow) and crossbelow h=hour(time('1'),"Asia/Kolkata") m=minute(time('1'),"Asia/Kolkata") startTime=h*100+m if upalert and strategy.position_size == 0 strategy.entry("buy", strategy.long, 15) if downalert and strategy.position_size == 0 strategy.entry("sell", strategy.short, 15) longexit = (slClose < (mySMA - slBuffer)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - Stoploss)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + targetSlab)) or (hour(time) == 15) shortexit = (slClose > (mySMA + slBuffer)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + Stoploss)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - targetSlab)) or (hour(time) == 15) if longexit strategy.close("buy") if shortexit strategy.close("sell")