جمع کرنے کے مرحلے کی شناخت اور تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-20 11:29:57
ٹیگز:

img

جائزہ

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

حکمت عملی کا اصول

یہ حکمت عملی قیمت کے رجحانات کا تعین کرنے کے لئے 50 دن ، 90 دن اور 200 دن کی سادہ چلتی اوسط استعمال کرتی ہے۔ خریدنے کے سگنل صرف اس وقت پیدا ہوتے ہیں جب قیمتیں 200 دن کی لائن سے اوپر ہوتی ہیں۔ اس سے بڑے نیچے کے رجحانات کی غیر یقینی صورتحال کو فلٹر کیا جاتا ہے۔

اہم رجحان کا جائزہ لینے کے علاوہ ، حکمت عملی رجحان کی تصدیق کے لئے قلیل مدتی چلتی اوسط کی ترتیب کا بھی جائزہ لیتی ہے۔ خاص طور پر ، یہ جائزہ لیتا ہے کہ آیا 50 دن کی لائن 90 دن کی لائن سے اوپر ہے۔

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

فوائد

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

متعدد ٹائم فریموں کا تجزیہ کرکے ، یہ حکمت عملی ٹائم فریموں سے ملنے کے لئے درمیانی اور طویل مدتی رجحانات کے فیصلوں اور قلیل مدتی خصوصیت کے فیصلوں کو جوڑتی ہے ، جو ایک ہی ٹائم فریم کو غلط انداز میں فیصلہ کرنے سے غیر یقینی صورتحال کو کم کرسکتی ہے۔

خطرات اور حل

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

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

اصلاح کے خیالات

مشین لرننگ الگورتھم کو اس حکمت عملی میں شامل کیا جاسکتا ہے تاکہ خصوصیات اور ماڈل ٹریننگ کو نکال کر جمع کرنے کے مرحلے کا خودکار فیصلہ حاصل کیا جاسکے۔ اس سے دستی طور پر حد مقرر کرنے کی حدود کو کم کیا جاسکتا ہے۔

اس کے علاوہ، اس حکمت عملی کو مختلف مارکیٹ کے ماحول کے تحت پیرامیٹرز کو خود بخود سوئچ کرنے کے لئے وقفے کی فعالیت کو بھی آزما سکتا ہے، حکمت عملی کو زیادہ مضبوط بناتا ہے.

خلاصہ

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


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © stocktechbot

//@version=5
strategy("Accumulate", overlay = true)
lookback = input(defval = 21, title = 'Lookback')
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
//SMA Tredline
out = ta.sma(close, 200)
outf = ta.sma(close, 50)
outn = ta.sma(close, 90)
outt = ta.sma(close, 21)
//sma plot
plot(out, color=color.blue, title="MA200", offset=offset)
plot(outf, color=color.maroon, title="MA50", offset=offset)
plot(outn, color=color.orange, title="MA90", offset=offset)
plot(outt, color=color.olive, title="MA21", offset=offset)

//MarketCap Calculation
//MarketCap = 0.0
//TSO = request.financial(syminfo.tickerid, "TOTAL_SHARES_OUTSTANDING", "FQ", ignore_invalid_symbol = true)


//if str.tostring(TSO) != 'na'
//    if ta.barssince(TSO != TSO[1] and TSO > TSO[1])==0
//        MarketCap := TSO * close
//       
//    if barstate.islast and MarketCap == 0
//        runtime.error("No MarketCap is provided by the data vendor.")
//    
//momlen = 100
//msrc = MarketCap
//mom = msrc - msrc[momlen]
//plotmom = if (mom > mom[1])
//    true
//else
//   false

//OBV with sma on macd
obv = ta.cum(math.sign(ta.change(close)) * volume)
smoothingLength = 5
smoothingLine = ta.sma(obv,5)
[macdLine, signalLine, histLine] = ta.macd(ta.pvt, 12, 26, 9)
sellvolhigh = macdLine < signalLine
buyvolhigh = macdLine > signalLine
//Buy Signal
mafentry =ta.sma(close, 50) > ta.sma(close, 90)
//matentry = ta.sma(close, 21) > ta.sma(close, 50)
matwohun = close > ta.sma(close, 200)
higheshigh = ta.rising(high, 2)
higheslow = ta.rising(low, 2 )
twohunraise = ta.rising(out, 2)
//highvol =  ta.crossover(volume, ta.sma(volume, lookback))
highvol = ta.rising(volume,2)
fourlow = ta.lowest(close, lookback)
fourhig = ta.highest(close, lookback)
change =  (((fourhig - fourlow) / fourlow) * 100) <= 30
green = close > open
allup = false
lineabove = ta.cross(close, ta.sma(close, input(defval = 21, title = 'Entry Line')))
if matwohun and mafentry and higheshigh and twohunraise and buyvolhigh
//if higheshigh and higheslow and highvol
    allup := true

plotshape(allup, style=shape.arrowup,location=location.belowbar, color=color.green, title = "Buy Signal")

barsSinceLastEntry() =>
    strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na
    
//Sell Signal
mafexit =ta.sma(close, 50) < ta.sma(close, 90)
matexit = ta.sma(close, 21) < ta.sma(close, 50)
matwohund = close < ta.sma(close, 200)
linebreak = ta.sma(close, input(defval = 21, title = 'Exit Line')) > close
lowesthigh = ta.falling(high, 3)
lowestlow = ta.falling(low, 2 )
twohunfall = ta.falling(out, 3)
twentyfall = ta.falling(outt, 2)
highvole =  ta.crossover(volume, ta.sma(volume, 5))
//fourlow = ta.lowest(close, lookback)
//fourhig = ta.highest(close, lookback)
changed =  (((fourhig - close) / close) * 100) >= 10
red = close < open
atr = ta.atr(14)
//atrsmalen = int(bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) )
atrsmalen = barsSinceLastEntry()
atrsma = false
atrlen = 5
if str.tostring(atrsmalen) != 'NaN' and atrsmalen > 0
    atrlen := atrsmalen

    
atrsma := atr > ta.sma(atr,50)


alldwn = false
if sellvolhigh and lowestlow and (close < close[1] and close < open)
//if higheshigh and higheslow and highvol
    alldwn := true

plotshape(alldwn, style=shape.arrowdown,location=location.abovebar, color=color.red, title = "Sell Signal")


longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
if (allup)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
if (alldwn)
    strategy.entry("My Short Entry Id", strategy.short)


مزید