اوپن ہائی کلوز لو بریکآؤٹ ٹریڈنگ حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ موم بتی کے چارٹس پر کھلی اور بند ہونے والی قیمتوں کے مابین تعلقات کی جانچ کرکے قلیل مدتی رجحان کی سمت کی نشاندہی کرتی ہے۔ جب کوئی رجحان شروع ہوتا ہے تو ، یہ رفتار کو تیزی سے پکڑنے کے لئے لمبی یا مختصر پوزیشنوں میں داخل ہوتا ہے۔
بنیادی منطق یہ چیک کرنا ہے کہ آیا کھلی قیمت شمعدان کی سب سے کم یا سب سے زیادہ قیمت کے برابر ہے۔ جب کھلی قیمت کم سے کم ہوتی ہے تو ایک طویل سگنل متحرک ہوتا ہے۔ جب کھلی قیمت زیادہ سے زیادہ ہوتی ہے تو ایک مختصر سگنل متحرک ہوتا ہے۔ اس کا مقصد مختصر مدت کے رجحان کی تجویز کرنے والے بریکآؤٹس کو پکڑنا ہے۔
ایک بار جب سگنل ٹرگر ہوجاتا ہے تو ، فوری طور پر ایک فکسڈ سائز کی پوزیشن کھولی جائے گی۔ مارکیٹ کی اتار چڑھاؤ کو ٹریک کرنے کے لئے اے ٹی آر اشارے کی بنیاد پر اسٹاپ نقصان طے کیا جاتا ہے۔ منافع لینے کی سطح اندراج کی قیمت سے اسٹاپ نقصان کے فاصلے کا ایک فکسڈ آر آر ضرب ہے۔ جب قیمت اسٹاپ نقصان یا منافع لینے پر پہنچ جاتی ہے تو ، پوزیشن اس کے مطابق بند کردی جائے گی۔
یہ حکمت عملی تمام پوزیشنوں کو صارف کے ذریعہ طے شدہ روزانہ کاٹنے کے وقت ، جیسے امریکی مارکیٹ بند ہونے سے 30 منٹ پہلے بھی فلیٹ کرتی ہے۔ اس سے راتوں رات فرق کا خطرہ دور ہوتا ہے۔
اہم فوائد یہ ہیں:
فوری طور پر بریک آؤٹ سگنل کی نشاندہی کرنے کے لئے کھلی / بند قیمتوں کا استعمال.
واضح اندراج کے سگنل جو لاگو کرنے میں آسان ہیں.
بروقت سٹاپ نقصان اور منافع لے منافع میں مقفل اور نقصانات کو محدود کرنے کے لئے.
روزانہ کی حد پر فلیٹ پوزیشنیں رات بھر کے وقفے کے خطرے سے بچنے کے لئے
مارکیٹ غیر جانبدار، فاریکس، اسٹاک، کریپٹو وغیرہ پر لاگو ہوتا ہے.
غور کرنے کے لیے کچھ خطرات:
متزلزل بازاروں میں اے ٹی آر کے ساتھ بار بار سٹاپ نقصان۔
اضافی فلٹرز کے بغیر مخصوص آلات اور سیشن کے لئے overfit.
مضبوط رجحانات میں فکسڈ ٹیک منافع کی سطح کم ہوسکتی ہے۔
فلیٹ پوزیشنوں پر غلط ٹائمنگ رجحانات کو نظر انداز کر سکتی ہے یا غیر ضروری نقصانات کا سبب بن سکتی ہے۔
اسے مزید بہتر بنانے کے کچھ طریقے:
مختلف مارکیٹ کے حالات کے لئے مختلف سٹاپ نقصان کی تکنیک کے ساتھ تجربہ.
غلط سگنل سے بچنے کے لئے رفتار کے اشارے وغیرہ کا استعمال کرتے ہوئے فلٹر شامل کریں.
متحرک طور پر مارکیٹ کی اتار چڑھاؤ کی بنیاد پر منافع لینے کی سطح کو ایڈجسٹ کریں.
مختلف تجارتی آلات اور سیشنوں کے لئے روزانہ کاٹنے کا وقت بہتر بنائیں۔
اوپن ہائی کلوز لو بریکآؤٹ حکمت عملی تجارت کی رفتار کو آسان بنانے کا ایک آسان طریقہ پیش کرتی ہے۔ واضح اندراج اور باہر نکلنے کے قواعد اس کو نافذ کرنے اور انتظام کرنے میں آسان بناتے ہیں۔ لیکن اسٹاپ نقصان ، منافع حاصل کرنے ، فلٹرز جیسے پیرامیٹرز پر مزید اصلاحات سے زیادہ مارکیٹ کے حالات میں اس کی استحکام میں بہتری آئے گی۔ سخت جانچ کے ذریعے وقت کے ساتھ ساتھ ٹھیک ٹونڈ ، اس میں مضبوط رسک ایڈجسٹ ریٹرن حاصل کرنے کی صلاحیت ہے۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Open-High-Low strategy strategy('Strategy: OLH', shorttitle="OLH", overlay=true) // Inputs slAtrLen = input.int(defval=14, title="ATR Period for placing SL", group="StopLoss settings") showSLLines = input.bool(defval=false, title="Show SL lines in chart", tooltip="Show SL lines also as dotted lines in chart. Note: chart may look untidy.", group="Stolploss settings") // Trade related rrRatio = input.float(title='Risk:Reward', step=0.1, defval=2.0, group="Trade settings") endOfDay = input.int(defval=1500, title="Close all trades, default is 3:00 PM, 1500 hours (integer)", group="Trade settings") mktAlwaysOn = input.bool(defval=true, title="Markets that never closed (Crypto, Forex, Commodity)", tooltip="Some markers never closes. For those cases, make this checked.", group="Trade settings") lotSize = input.int(title='Lot Size', step=1, defval=1, group="Trade settings") // Utils green(open, close) => close > open ? true : false red(open, close) => close < open ? true : false body(open, close) => math.abs(open - close) lowerwick = green(open, close) ? open - low : close - low upperwick = green(open, close) ? high - close : high - open crange = high - low crangep = high[1] - low[1] // previous candle's candle-range bullish = close > open ? true : false bearish = close < open ? true : false // Trade signals longCond = barstate.isconfirmed and (open == low) shortCond = barstate.isconfirmed and (open == high) // For SL calculation atr = ta.atr(slAtrLen) highestHigh = ta.highest(high, 7) lowestLow = ta.lowest(low, 7) longStop = showSLLines ? lowestLow - (atr * 1) : na shortStop = showSLLines ? highestHigh + (atr * 1) : na plot(longStop, title="Buy SL", color=color.green, style=plot.style_cross) plot(shortStop, title="Sell SL", color=color.red, style=plot.style_cross) // Trade execute h = hour(time('1'), syminfo.timezone) m = minute(time('1'), syminfo.timezone) hourVal = h * 100 + m totalTrades = strategy.opentrades + strategy.closedtrades if (mktAlwaysOn or (hourVal < endOfDay)) // Entry var float sl = na var float target = na if (longCond) strategy.entry("enter long", strategy.long, lotSize, limit=na, stop=na, comment="Enter Long") sl := longStop target := close + ((close - longStop) * rrRatio) alert('Buy:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar) if (shortCond) strategy.entry("enter short", strategy.short, lotSize, limit=na, stop=na, comment="Enter Short") sl := shortStop target := close - ((shortStop - close) * rrRatio) alert('Sell:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar) // Exit: target or SL if ((close >= target) or (close <= sl)) strategy.close("enter long", comment=close < sl ? "Long SL hit" : "Long target hit") if ((close <= target) or (close >= sl)) strategy.close("enter short", comment=close > sl ? "Short SL hit" : "Short target hit") else if (not mktAlwaysOn) // Close all open position at the end if Day strategy.close_all(comment = "Close all entries at end of day.")