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

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

img

جائزہ

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

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

حکمت عملی بولنگر بینڈ کی 3 لائنیں استعمال کرتی ہے - درمیانی ، اوپری اور نچلی۔ درمیانی لائن این ڈے چلتی اوسط ہے۔ اوپری لائن درمیانی لائن + ک * این ڈے معیاری انحراف ہے۔ نچلی لائن درمیانی لائن - ک * این ڈے معیاری انحراف ہے۔ عام طور پر این 20 ہے اور ک 2 ہے۔

جب قیمت اوپری لائن سے اوپر ٹوٹ جاتی ہے تو ، یہ نیچے کے رجحان کا اشارہ کرتی ہے اور مختصر ہوجاتی ہے۔ جب قیمت نیچے کی لائن سے نیچے ٹوٹ جاتی ہے تو ، یہ اوپر کے رجحان کا اشارہ کرتی ہے اور طویل ہوجاتی ہے۔

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

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

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

اس حکمت عملی کے فوائد میں شامل ہیں:

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

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. بولنگر بینڈ مارکیٹ کی اتار چڑھاؤ کے لئے حساس ہیں اور وہپساؤس کا سامنا کرسکتے ہیں۔
  2. پیرامائڈنگ نمائش میں اضافہ کرتی ہے اور ممکنہ نقصان کو فائدہ پہنچاتی ہے۔
  3. سٹاپ نقصان کی ضمانت نہیں ہے اور اب بھی روکنے کا امکان ہے.

خطرات سے نمٹنے کے کچھ طریقے:

  1. مختلف سائیکلوں کے لئے بولنگر بینڈ پیرامیٹرز کو بہتر بنائیں.
  2. پیرامائڈنگ پیمانے اور تعدد کو ایڈجسٹ کریں.
  3. درمیانی لائن کو مزید سٹاپ نقصان لائن کے طور پر شامل کریں۔

اصلاح کی ہدایات

حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. زیادہ سے زیادہ مارکیٹ کے نظام کو اپنانے کے لئے بولنگر بینڈ کے پیرامیٹرز کو بہتر بنائیں۔
  2. خطرہ اور ثواب کو متوازن کرنے کے لئے پرامڈ منطق کو بہتر بنائیں.
  3. زیادہ سٹاپ نقصان لائنوں کو شامل کریں جیسے وسط لائن.
  4. منافع کو فعال طور پر مقفل کرنے کے لئے منافع لینے کا طریقہ کار تیار کریں۔
  5. اندراجات کو فلٹر کرنے کے لئے دیگر اشارے کو یکجا کریں.
  6. ہر تجارت میں نقصان کو کنٹرول کرنے کے لئے خطرے کے انتظام کو بہتر بنائیں.

نتیجہ

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


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

//@version=5

strategy(title='Bollinger Band strategy with split, limit, stop', shorttitle='bb strategy', overlay=true,commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, pyramiding = 4)



//Summary: Going Long or Short when Entering after Breaking the Bollinger Bands\
//At this time, the stop-loss, profit-taking price, and pyramiding standard\
// are determined from the difference between the position average price and the band price.

//After entering the position, if the price crosses the mid-band line, the stop loss is adjusted to the mid-band line.



//each trade, entry position size = 10% of total cash
//max pyramiding is 4
//commission = 0.01%





in_period = true


bb_length = input.int(20)
bb_mult = input.int(2)

[middle, upper, lower] = ta.bb(close,bb_length, bb_mult)
plot(middle, color=color.aqua)
plot(upper, color=color.orange)
plot(lower, color=color.orange)
long_cond = ta.crossover(close,lower)
short_cond = ta.crossunder(close,upper)

var saved_ph = 0.0
if strategy.opentrades>0 and strategy.opentrades[1]==0 and strategy.position_size > 0
    saved_ph := upper[1]
var saved_pl = 0.0
if strategy.opentrades>0 and strategy.opentrades[1]==0 and strategy.position_size < 0
    saved_pl := lower[1]

avg = strategy.position_avg_price

long_diff = saved_ph-avg
short_diff = saved_pl-avg

long_stoploss = avg - 1*long_diff
short_stoploss = avg - 1*short_diff

long_avgdown = avg - 0.5*long_diff
short_avgup = avg - 0.5*short_diff

long_profit_price = avg + 0.5*long_diff
short_profit_price = avg + 0.5*short_diff

var label _label = na
if in_period
    if long_cond and strategy.opentrades==0
        strategy.entry("Long",strategy.long)
    if long_cond and strategy.opentrades >0 and (close[1]<long_avgdown or close[2]<long_avgdown)
        strategy.entry("Long",strategy.long)

    if short_cond and strategy.opentrades==0
        strategy.entry("Short", strategy.short)
    if short_cond and strategy.opentrades>0 and (close[1]>short_avgup or close[2]>short_avgup)
        strategy.entry("Short",strategy.short)

plot(avg, style=plot.style_linebr)


plot(strategy.position_size > 0? long_profit_price: na,color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0? long_avgdown: na,color=color.yellow, style=plot.style_linebr)
plot(strategy.position_size > 0? long_stoploss: na,color=color.red, style=plot.style_linebr)

plot(strategy.position_size < 0? short_profit_price: na,color=color.green, style=plot.style_linebr)
plot(strategy.position_size < 0? short_avgup: na,color=color.yellow, style=plot.style_linebr)
plot(strategy.position_size < 0? short_stoploss: na,color=color.red, style=plot.style_linebr)

if strategy.position_size > 0
    if ta.crossover(close, middle)
        strategy.exit("Long Exit", "Long", limit=long_profit_price, stop=middle)
    else
        strategy.exit("Long Exit", "Long", limit=long_profit_price, stop=long_stoploss)
if strategy.position_size < 0
    if ta.crossunder(close, middle)
        strategy.exit("Short Exit", "Short", limit=short_profit_price, stop=middle)
    else
        strategy.exit("Short Exit", "Short", limit=short_profit_price, stop=short_stoploss)

مزید