کھلی ہائی بند کم بریکآؤٹ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-02 12:03:45
ٹیگز:

img

جائزہ

اوپن ہائی کلوز لو بریکآؤٹ ٹریڈنگ حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ موم بتی کے چارٹس پر کھلی اور بند ہونے والی قیمتوں کے مابین تعلقات کی جانچ کرکے قلیل مدتی رجحان کی سمت کی نشاندہی کرتی ہے۔ جب کوئی رجحان شروع ہوتا ہے تو ، یہ رفتار کو تیزی سے پکڑنے کے لئے لمبی یا مختصر پوزیشنوں میں داخل ہوتا ہے۔

حکمت عملی منطق

بنیادی منطق یہ چیک کرنا ہے کہ آیا کھلی قیمت شمعدان کی سب سے کم یا سب سے زیادہ قیمت کے برابر ہے۔ جب کھلی قیمت کم سے کم ہوتی ہے تو ایک طویل سگنل متحرک ہوتا ہے۔ جب کھلی قیمت زیادہ سے زیادہ ہوتی ہے تو ایک مختصر سگنل متحرک ہوتا ہے۔ اس کا مقصد مختصر مدت کے رجحان کی تجویز کرنے والے بریکآؤٹس کو پکڑنا ہے۔

ایک بار جب سگنل ٹرگر ہوجاتا ہے تو ، فوری طور پر ایک فکسڈ سائز کی پوزیشن کھولی جائے گی۔ مارکیٹ کی اتار چڑھاؤ کو ٹریک کرنے کے لئے اے ٹی آر اشارے کی بنیاد پر اسٹاپ نقصان طے کیا جاتا ہے۔ منافع لینے کی سطح اندراج کی قیمت سے اسٹاپ نقصان کے فاصلے کا ایک فکسڈ آر آر ضرب ہے۔ جب قیمت اسٹاپ نقصان یا منافع لینے پر پہنچ جاتی ہے تو ، پوزیشن اس کے مطابق بند کردی جائے گی۔

یہ حکمت عملی تمام پوزیشنوں کو صارف کے ذریعہ طے شدہ روزانہ کاٹنے کے وقت ، جیسے امریکی مارکیٹ بند ہونے سے 30 منٹ پہلے بھی فلیٹ کرتی ہے۔ اس سے راتوں رات فرق کا خطرہ دور ہوتا ہے۔

فوائد کا تجزیہ

اہم فوائد یہ ہیں:

  1. فوری طور پر بریک آؤٹ سگنل کی نشاندہی کرنے کے لئے کھلی / بند قیمتوں کا استعمال.

  2. واضح اندراج کے سگنل جو لاگو کرنے میں آسان ہیں.

  3. بروقت سٹاپ نقصان اور منافع لے منافع میں مقفل اور نقصانات کو محدود کرنے کے لئے.

  4. روزانہ کی حد پر فلیٹ پوزیشنیں رات بھر کے وقفے کے خطرے سے بچنے کے لئے

  5. مارکیٹ غیر جانبدار، فاریکس، اسٹاک، کریپٹو وغیرہ پر لاگو ہوتا ہے.

خطرے کا تجزیہ

غور کرنے کے لیے کچھ خطرات:

  1. متزلزل بازاروں میں اے ٹی آر کے ساتھ بار بار سٹاپ نقصان۔

  2. اضافی فلٹرز کے بغیر مخصوص آلات اور سیشن کے لئے overfit.

  3. مضبوط رجحانات میں فکسڈ ٹیک منافع کی سطح کم ہوسکتی ہے۔

  4. فلیٹ پوزیشنوں پر غلط ٹائمنگ رجحانات کو نظر انداز کر سکتی ہے یا غیر ضروری نقصانات کا سبب بن سکتی ہے۔

بہتری کے شعبے

اسے مزید بہتر بنانے کے کچھ طریقے:

  1. مختلف مارکیٹ کے حالات کے لئے مختلف سٹاپ نقصان کی تکنیک کے ساتھ تجربہ.

  2. غلط سگنل سے بچنے کے لئے رفتار کے اشارے وغیرہ کا استعمال کرتے ہوئے فلٹر شامل کریں.

  3. متحرک طور پر مارکیٹ کی اتار چڑھاؤ کی بنیاد پر منافع لینے کی سطح کو ایڈجسٹ کریں.

  4. مختلف تجارتی آلات اور سیشنوں کے لئے روزانہ کاٹنے کا وقت بہتر بنائیں۔

نتیجہ

اوپن ہائی کلوز لو بریکآؤٹ حکمت عملی تجارت کی رفتار کو آسان بنانے کا ایک آسان طریقہ پیش کرتی ہے۔ واضح اندراج اور باہر نکلنے کے قواعد اس کو نافذ کرنے اور انتظام کرنے میں آسان بناتے ہیں۔ لیکن اسٹاپ نقصان ، منافع حاصل کرنے ، فلٹرز جیسے پیرامیٹرز پر مزید اصلاحات سے زیادہ مارکیٹ کے حالات میں اس کی استحکام میں بہتری آئے گی۔ سخت جانچ کے ذریعے وقت کے ساتھ ساتھ ٹھیک ٹونڈ ، اس میں مضبوط رسک ایڈجسٹ ریٹرن حاصل کرنے کی صلاحیت ہے۔


/*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.")



مزید