
کھلے پوزیشن اعلی اختتامی کم سمیٹ واحد ٹریڈنگ کی حکمت عملی ایک رجحان کی پیروی کی قسم کی ٹریڈنگ کی حکمت عملی ہے۔ یہ حکمت عملی K لائن کی کھلنے کی قیمت اور اختتامی قیمت کے تعلقات کا فیصلہ کرکے ، قیمتوں کے قلیل مدتی رجحان کی سمت کی نشاندہی کرتی ہے ، جب رجحان شروع ہوتا ہے تو پوزیشن بنانا زیادہ خالی کرنا ، تیزی سے مارکیٹ میں داخل ہونا ، رجحان کی پیروی کرنا۔
یہ حکمت عملی بنیادی طور پر K لائن کی افتتاحی قیمت اور اختتامی قیمت کے بڑے تعلقات کا فیصلہ کرتی ہے ، جب افتتاحی قیمت کم ترین قیمت کے برابر ہوتی ہے تو ایک سے زیادہ سگنل پیدا ہوتا ہے۔ جب افتتاحی قیمت زیادہ سے زیادہ قیمت کے برابر ہوتی ہے تو ایک خالی سگنل پیدا ہوتا ہے۔ اس طرح قیمتوں میں قلیل مدتی توڑ کو پکڑنے ، رجحان کی پیروی کرنے کے لئے۔
سگنل میں داخل ہونے کے بعد ، پوزیشنوں کو فوری طور پر ایک مقررہ تعداد کے ساتھ کھولا جائے گا۔ اسٹاپ نقصان مارکیٹ میں اتار چڑھاو کو ٹریک کرنے کے لئے اے ٹی آر اشارے کی ترتیب کا حوالہ دیتا ہے۔ سٹاپ نقصان کا ہدف اسٹاپ نقصان کی حد اور داخلہ قیمت کے درمیان فاصلے کا آر آر تناسب ہے۔ جب قیمت اسٹاپ نقصان کی حد یا اسٹاپ نقصان کی حد کو چھوتی ہے تو ، بروقت اسٹاپ نقصان یا اسٹاپ ہوتا ہے۔
اس حکمت عملی میں صارف کے مقرر کردہ وقت پر بھی تمام پوزیشنوں کو صاف کیا جاتا ہے ، مثال کے طور پر امریکی مارکیٹ کے اختتام سے آدھے گھنٹے پہلے ، راتوں رات بڑے پیمانے پر اتار چڑھاؤ کے خطرے سے بچنے کے لئے۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
کھلنے اور بند ہونے والی قیمتوں کے تعلقات کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کرنے کے لئے ، قیمتوں میں قلیل مدتی توڑ کی فوری شناخت کی جاسکتی ہے۔
داخلہ کا اشارہ سادہ اور واضح ہے اور اسے آسانی سے نافذ کیا جاسکتا ہے۔
بروقت اسٹاپ اور اسٹاپ نقصان ، منافع کو لاک کرنے اور نقصانات کو بڑھانے سے بچنے کے لئے۔
ایک مخصوص وقت کے دوران غیر جانبدار پوزیشنوں کو نافذ کرنے سے راتوں رات کے اتار چڑھاؤ کے خطرے سے بچنے میں مدد ملتی ہے۔
غیر ملکی کرنسی ، اسٹاک ، کریپٹو کرنسی اور دیگر مارکیٹوں کے لئے مخصوص تجارت کی قسم کا انتخاب کرنے کی ضرورت نہیں ہے۔
اس حکمت عملی کے کچھ خطرات بھی ہیں:
اے ٹی آر کا استعمال کرتے ہوئے نقصان پہنچانا ، جو ہلچل کے حالات میں اکثر نقصان پہنچا سکتا ہے۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کے معاہدے میں ، اس طرح کے معاہدوں میں ، اس طرح کے معاہدوں میں ، اس طرح کے معاہدوں میں ، اس طرح کے معاہدوں میں ، اور اس طرح کے معاہدوں میں ، اس طرح کے معاہدوں میں شامل نہیں ہیں۔
فکسڈ سٹاپ لگانے کا ہدف مارکیٹ کے حالات کے مطابق نہیں ہو سکتا اور یہ مسلسل منافع بخش نہیں ہو سکتا۔
جب تجارت کو غیر مناسب طریقے سے بند کیا جاتا ہے تو ، رجحان کے مواقع سے محروم ہوجاتے ہیں یا اضافی نقصانات کا سامنا کرنا پڑتا ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
آپٹمائزڈ اسٹاپ ، رجحان کے حالات میں رکنے والے اسٹاپ کا استعمال ، زلزلے کے حالات میں لٹکا ہوا اسٹاپ کا استعمال وغیرہ۔
فلٹرنگ شرائط شامل کریں ، رجحان اشارے وغیرہ کے ساتھ مل کر داخلے کا وقت طے کریں ، اور جعلی بریک سے بچیں۔
متحرک طور پر اسٹاپ پوزیشن کو ایڈجسٹ کریں ، مارکیٹ میں اتار چڑھاؤ کی حد کے مطابق مناسب اسٹاپ فاصلہ طے کریں۔
پوزیشن کے اوقات کو بہتر بنائیں ، مختلف قسم کے لین دین اور علاقوں کے لئے مناسب پوزیشن کے اوقات کا انتخاب کریں۔
کھولنے کے لئے اعلی بند کرنے کے لئے کم کھانے کے لئے ایک ہی تجارت کی حکمت عملی کی قیمتوں میں مختصر مدت کے رجحانات کا تعین کرنے کے لئے آسان کی طرف سے تیزی سے پوزیشن قائم. اس میں داخلہ آسان، سٹاپ اور سٹاپ نقصان کے واضح فوائد ہیں. لیکن وہاں بھی کچھ بہتر پہلوؤں، جیسے سٹاپ نقصان طریقہ کار، فلٹر سگنل وغیرہ. مسلسل جانچ اور اصلاح کی طرف سے، اس حکمت عملی پیرامیٹرز کو زیادہ مارکیٹ کے ماحول کے مطابق ڈھال لیا جا سکتا ہے، زیادہ سے زیادہ لچکدار اور منافع بخش ہے.
/*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.")