مومنٹم بریک آؤٹ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-14 11:19:05
ٹیگز:

img

جائزہ

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

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

  1. بولنگر مڈ لائن ، اوپری بینڈ اور نچلی بینڈ کا حساب لگائیں۔ مڈ لائن این پیریڈ ایس ایم اے ہے ، اوپری بینڈ مڈ لائن + ایم ہےn-period معیاری انحراف، نچلی بینڈ وسط لائن ہے - mn-period معیاری انحراف

  2. سٹاپ نقصان کو ٹریک کرنے کے لئے اے ٹی آر اشارے کا حساب لگائیں.

  3. قیمت کی رفتار کا تعین کرنے کے لئے 1 مدت اور n مدت کے ای ایم اے لائنز کا حساب لگائیں۔

  4. جب قیمت تیزی سے بولنگر کے اوپری بینڈ اور ای ایم اے لائن سے تجاوز کرتی ہے، تو خریدنے کا سگنل پیدا ہوتا ہے۔

  5. جب قیمت تیزی سے بولنگر کے نچلے بینڈ اور ای ایم اے لائن سے نیچے گزرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔

  6. اے ٹی آر اشارے سٹاپ نقصان پوائنٹس مقرر کرتا ہے، پھنسنے سے بچنے کے لئے قیمت توڑنے کی سمت کی پیروی کرتا ہے.

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

  1. بولنگر بینڈ اے ٹی آر سٹاپ نقصان کے ساتھ مل کر مؤثر طریقے سے خطرے کو کنٹرول کرسکتے ہیں.

  2. ای ایم اے تیز اور سست لائنیں رفتار کی سمت کا تعین کرتی ہیں، غلط بریک آؤٹ سے بچنے کے لئے.

  3. ایڈجسٹ پیرامیٹرز مختلف مارکیٹ کے ماحول کے مطابق ہیں.

  4. واضح خرید/فروخت کے سگنل اعلی تجارتی تعدد کے ساتھ، مختصر مدت کی تجارت کے لئے موزوں.

  5. اے ٹی آر اشارے ٹریک سٹاپ نقصان بروقت انداز میں.

خطرے کا تجزیہ

  1. تنگ بولنگر بینڈس کی حد زیادہ شور مچانے والی تجارت کا سبب بن سکتی ہے۔

  2. اے ٹی آر پیرامیٹر کو بہت کم سیٹ کرنے سے اسٹاپ نقصان بہت قریب آ سکتا ہے جس کے نتیجے میں پھنس جانا پڑتا ہے۔

  3. EMA پیرامیٹرز کو مختلف سائیکل اثرات کے لئے ایڈجسٹ کرنے کی ضرورت ہے۔

  4. اتار چڑھاؤ والی مارکیٹ میں مزید تجارت پیدا ہوسکتی ہے، احتیاط کی ضرورت ہے۔

  5. ٹریک سٹاپ نقصان کبھی کبھی بہت جارحانہ ہو سکتا ہے، نقصان کی توسیع کی وجہ سے.

اصلاح

  1. ٹریڈنگ سگنلز کو فلٹر کرنے کے لئے دوسرے اشارے کے ساتھ مل کر، مثال کے طور پر، overbought/oversold کے لئے RSI، divergence کے لئے KDJ وغیرہ.

  2. قیمت کے اتار چڑھاؤ کے مطابق اے ٹی آر پر مبنی بولنگر پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے پر غور کریں۔

  3. بہترین پیرامیٹر مجموعہ کے لئے مختلف EMA سائیکل پیرامیٹرز کا تجربہ کریں۔

  4. ہوشیار طریقے سے اتار چڑھاؤ کی بنیاد پر ATR پیرامیٹرز کو ایڈجسٹ کریں تاکہ جارحانہ سٹاپ نقصان سے بچنے کے لئے.

  5. خرید / فروخت کے فیصلوں کے وقت میں مدد کے لئے گہری سیکھنے کے ماڈلز کو شامل کرنے پر غور کریں.

خلاصہ

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


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

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 
// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
// plot(bbr, "Bollinger Bands %B", color=#26A69A)
// band1 = hline(1, "Overbought", color=#787B86, linestyle=hline.style_dashed)
// hline(0.5, "Middle Band", color=color.new(#787B86, 50))
// band0 = hline(0, "Oversold", color=#787B86, linestyle=hline.style_dashed)
// fill(band1, band0, color=color.rgb(38, 166, 154, 90), title="Background")








xATR  = atr(c)
nLoss = a * xATR




xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
emaFast   = ema(src,144)
emaSlow   = ema(src,576)
sma       =  sma(src, c)

above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

smaabove = crossover(src, sma)
smabelow = crossover(sma, src)


buy  = src > xATRTrailingStop and above and (bbr>20  or bbr<80)
sell = src < xATRTrailingStop and below  and  (bbr>20  or bbr<80)

// buy  = src > xATRTrailingStop 
// sell = src < xATRTrailingStop 


barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

// plot(emaFast , color = color.rgb(243, 206, 127), title="emaFast")

plot(xATRTrailingStop, color = color.rgb(233, 233, 232), title="xATRTrailingStop")

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)


// plotshape(buy,  title = "Sell",  text = 'Sell',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(sell, title = "buy", text = 'buy', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

// strategy.entry("short",   false, when = buy)
// strategy.entry("long ", true, when = sell)


strategy.entry("long",   true, when = buy)
strategy.entry("short ", false, when = sell)

مزید