متحرک منافع کے ہدف کے ساتھ اوپن رینج حکمت عملی ایک تکنیکی تجارتی حکمت عملی ہے جو ممکنہ تجارتی مواقع کی نشاندہی کے لئے مارکیٹ کی افتتاحی حد کا استعمال کرتی ہے۔ یہ حکمت عملی اس خیال پر مبنی ہے کہ مارکیٹ کی افتتاحی حد مختصر مدت میں مارکیٹ کی سمت کے بارے میں قیمتی معلومات فراہم کرسکتی ہے۔
یہ حکمت عملی پہلے مارکیٹ کی افتتاحی حد کا حساب کتاب کرکے کام کرتی ہے۔ افتتاحی حد تجارتی دن کی پہلی بار کی اعلی قیمت اور کم قیمت کے درمیان فرق ہے۔ اس کے بعد حکمت عملی افتتاحی حد سے اوپر یا نیچے توڑ کی تلاش کرکے ممکنہ تجارتی مواقع کی نشاندہی کرتی ہے۔
اگر قیمت افتتاحی حد سے اوپر کی حد کو توڑتی ہے تو ، حکمت عملی ایک طویل پوزیشن میں داخل ہوگی۔ اگر قیمت افتتاحی حد سے نیچے کی حد کو توڑتی ہے تو ، حکمت عملی ایک مختصر پوزیشن میں داخل ہوگی۔ جب قیمت پہلے سے طے شدہ منافع کا ہدف یا اسٹاپ نقصان تک پہنچ جاتی ہے تو حکمت عملی پوزیشن سے باہر نکل جائے گی۔
حکمت عملی کے لئے منافع کا ہدف متحرک ہے ، جس کا مطلب ہے کہ قیمت کی نقل و حرکت کے ساتھ ہی اس میں تبدیلی آتی ہے۔ منافع کا ہدف افتتاحی حد اور مارکیٹ کی موجودہ قیمت کی بنیاد پر شمار کیا جاتا ہے۔ جب قیمت افتتاحی حد کے پہلے سے طے شدہ فیصد تک پہنچ جاتی ہے تو حکمت عملی پوزیشن سے باہر نکل جائے گی۔
حکمت عملی کے لئے اسٹاپ نقصان بھی متحرک ہے ، اس کا مطلب یہ ہے کہ یہ قیمت کی نقل و حرکت کے ساتھ ہی بدلتا ہے۔ اسٹاپ نقصان کا حساب مارکیٹ کی موجودہ قیمت اور افتتاحی حد کے پہلے سے طے شدہ فیصد کی بنیاد پر کیا جاتا ہے۔ اگر قیمت اسٹاپ نقصان تک پہنچ جاتی ہے تو حکمت عملی پوزیشن سے باہر نکل جائے گی۔
متحرک منافع کے ہدف کے ساتھ اوپن رینج حکمت عملی لاگو کرنے کے لئے ایک نسبتا simple آسان حکمت عملی ہے ، لیکن یہ قلیل مدتی تجارتی مواقع کی نشاندہی کرنے میں موثر ثابت ہوسکتی ہے۔ تاہم ، یہ یاد رکھنا ضروری ہے کہ کسی بھی تجارتی حکمت عملی کی منافع بخش ہونے کی ضمانت نہیں ہے۔ براہ راست تجارت میں استعمال کرنے سے پہلے حکمت عملی کو تاریخی اعداد و شمار پر بیک ٹیسٹ کرنا ہمیشہ ضروری ہے۔
ذیل میں حکمت عملی کے مختلف اجزاء کی مزید تفصیل سے وضاحت کی گئی ہے:
یہاں متحرک منافع ہدف کے ساتھ اوپن رینج حکمت عملی کا استعمال کرنے کے لئے کچھ تجاویز ہیں:
میں امید کرتا ہوں کہ یہ مضمون آپ کے لیے مفید ثابت ہوا ہے۔ اگر آپ کے پاس مزید سوالات ہیں تو مجھے بتائیں۔
/*backtest start: 2023-08-09 00:00:00 end: 2023-09-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] args: [["v_input_10",true]] */ //@version=2 //Created by Frenchy/lisfse/Francois Seguin on 2019-01-22" strategy(title="Open_Range_Strategy_with_dynamic_PT_by_frenchy", shorttitle="O/R Strategy Dynamic PT ", overlay=true) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2010) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2016) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // === INPUT SESSION RANGE === SessionLenght = input('0930-1100', title="Session Lenght") res = input('30', title="Length Of Opening Range?") Notradetime= time('30', '0930-1000') Tradetime= time('1', '1000-1100') // === LONG/SHORT STRATEGY AND ALERT SELECTION === Select_long = input(true, title="Long Strategy and alert ?") Select_short = input(false, title="Short Strategy and alert ?") //Session Rules sessToUse = SessionLenght bartimeSess = time('D', sessToUse) fr2to17 = time(timeframe.period, sessToUse) newbarSess = bartimeSess != bartimeSess[1] high_range = valuewhen(newbarSess,high,0) low_range = valuewhen(newbarSess,low,0) adopt(r, s) => security(syminfo.tickerid, r, s) //Formula For Opening Range highRes = adopt(res, high_range) lowRes = adopt(res, low_range) range = highRes - lowRes //Highlighting Line Rules For Opening Range highColor = Notradetime ? red : green lowColor = Notradetime ? red : green //Plot Statements For Opening Range Lines openRangeHigh = plot(fr2to17 > 0 ? highRes : na, color=highColor, style=linebr, linewidth=4,title="OR High") openRangeLow = plot(fr2to17 > 0 ? lowRes : na, color=lowColor, style=linebr, linewidth=4,title="OR Low") //Price definition price = security(syminfo.tickerid, timeframe.period, close) haclose = ((open + high + low + close)/4) //aopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2 MA20= sma(price,20) //Plots For Profit Targe 2 bgcolor(Notradetime? red:na) ///////////////////////////////////////Strategy Definition /////////////////////////////////////////////////////////////// /////////////////////////////////////////Long Strategy//////////////////////////////////////////////////////////////////// //Enter Strategy Long criteria Enterlong = (crossover(price,highRes) and Select_long and Tradetime ? 1:0 ) and (Notradetime ? 0:1) plotarrow(Enterlong, color=black, style=shape.triangleup, text="Enter", location=location.belowbar, minheight = 80, maxheight=80, offset=0) //Exit Strategy Long criteria Exitlong = crossunder(price,highRes) or crossunder(price,MA20) //plotshape(Exitlong, color=black, style=shape.triangledown, text="Exit", location=location.abovebar) /////////////////////////////////////////Long Strategy Excution//////////////////////////////////////////////////////// strategy.entry ("Call", strategy.long, when=Enterlong and window()) strategy.close("Call", when=Exitlong and window()) //////////////////////////////////////////Short Strategy//////////////////////////////////////////////////////////////// //Enter Strategy Short criteria Entershort = crossunder(price,lowRes) and time(res, SessionLenght) and Select_short ? 1:0 // Exit Strategy short criteria Exitshort = crossover(price,lowRes) or crossover(haclose,MA20) ///////////////////////////////////////Strategy execution Short/////////////////////////////////////////////////////// strategy.entry ("put", strategy.short, when=Entershort and window()) strategy.close("put", when=Exitshort and window())