بولنگر بینڈز رجحان الٹ کرنے کی حکمت عملی

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

img

جائزہ

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

منطق

حکمت عملی میں دو اندراج کے اشارے کی نشاندہی کی گئی ہے:

  1. لانگ سگنل: جب EMA لائن کے اوپر بند ہونے والی قیمت کم بینڈ کو چھوتی ہے تو ، پچھلی موم بتی bearish تھی اور موجودہ موم بتی تیزی سے بڑھتی ہے۔

  2. شارٹ سگنل: جب بند قیمت EMA لائن سے نیچے ہوتے ہوئے اوپری بینڈ کو چھوتی ہے تو ، پچھلی موم بتی تیزی سے بڑھتی تھی اور موجودہ موم بتی کم ہوتی ہے۔

اسٹاپ نقصان کا استعمال فکسڈ اسٹاپ نقصان کا استعمال کرتا ہے۔ اسٹاپ نقصان کی سطح داخلہ قیمت کے علاوہ / مائنس رسک / انعام کا تناسب ضرب اور منافع کی سطح کے درمیان فاصلہ پر مقرر کی جاتی ہے۔

فائدہ اٹھانا متحرک فائدہ اٹھانا استعمال کرتا ہے۔ لمبا فائدہ اٹھانا نچلے بینڈ میں طے ہوتا ہے۔ مختصر فائدہ اٹھانا اوپری بینڈ میں طے ہوتا ہے۔

فوائد

  1. رجحان کی پیروی کرنے اور اوسط ریورس کی حکمت عملی دونوں کی طاقتوں کو یکجا کرتا ہے، رینج سے منسلک مارکیٹوں کے دوران اچھی کارکردگی کا مظاہرہ کرتا ہے.

  2. زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے بولنگر بینڈ کا استعمال کرتا ہے، الٹ سگنل کی درستگی کو بہتر بناتا ہے.

  3. فکسڈ سٹاپ نقصان خطرے کے انتظام کو آسان بناتا ہے.

  4. متحرک منافع حاصل کرنے سے منافع کو زیادہ سے زیادہ کرنے کی اجازت ملتی ہے۔

خطرات

  1. بھاگنے کی حکمت عملیوں کو رنز روکنے کا خطرہ ہے۔ غلط بھاگنے سے بچنے کی ضرورت ہے۔

  2. جب مارکیٹ بہت ہلکی ہوتی ہے تو اکثر اسٹاپ نقصان کا سبب بنتا ہے۔

  3. فکسڈ اسٹاپ نقصان مارکیٹ کی اتار چڑھاؤ کے مطابق نہیں ہے۔ یہ بہت وسیع یا بہت تنگ ہوسکتا ہے۔

  4. بولنگر بینڈ کے پیرامیٹرز کی ناقص ایڈجسٹمنٹ معمولی نتائج کا باعث بن سکتی ہے۔

بہتری

  1. داخلہ سگنل کو فلٹر کرنے کے لئے آر ایس آئی اشارے کو شامل کریں۔ مثال کے طور پر ، صرف اس صورت میں طویل ہوجائیں جب آر ایس آئی 50 سے زیادہ ہو ، اور صرف اس صورت میں مختصر ہوجائیں جب آر ایس آئی 50 سے کم ہو۔ اس سے خراب سگنل سے گریز ہوتا ہے۔

  2. موافقت پذیر اسٹاپ نقصان کو نافذ کریں جو اتار چڑھاؤ کی بنیاد پر اسٹاپ فاصلے کو ایڈجسٹ کرتا ہے۔ مثال کے طور پر متحرک اسٹاپ نقصان کو ترتیب دینے کے لئے اے ٹی آر کا استعمال کریں۔

  3. بہترین پیرامیٹر مجموعے تلاش کرنے کے لئے بولنگر بینڈ پیرامیٹرز کو بہتر بنائیں.

  4. ای ایم اے کے سپورٹ/مزاحمت اثر کو بڑھانے کے لئے مختلف ای ایم اے ادوار کی جانچ کریں۔

خلاصہ

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


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-31 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Welcome to yet another script. This script was a lot easier since I was stuck for so long on the Donchian Channels one and learned so much from that one that I could use in this one
// This code should be a lot cleaner compared to the Donchian Channels, but we'll leave that up to the pro's
// This strategy has two entry signals, long = when price hits lower band, while above EMA, previous candle was bearish and current candle is bullish
// Short = when price hits upper band, while below EMA, previous candle was bullish and current candle is bearish
// Take profits are the opposite side's band(lower band for long signals, upper band for short signals). This means our take profit price will change per bar
// Our stop loss doesn't change, it's the difference between entry price and the take profit target divided by the input risk reward
// At the time of writing this, I could probably calculate that much easier by simply multiplying the opposite band by the input risk reward ratio
// Since I want to get this script out and working on the next one, I won't clean that up, I'm sorry
// strategy(shorttitle="BB Trending Reverse Strategy", title="Bollinger Bands Trending Reverse Strategy", overlay=true, default_qty_type = strategy.cash, default_qty_value = 150, initial_capital = 1000, currency = currency.USD, commission_type = "percent", commission_value = 0.036)

// The built-in Bollinger Band indicator inputs and variables, added some inputs of my own and organised the code
length              = input(20, minval=1)
src                 = input(close, title="Source")
mult                = input(2.0, minval=0.001, maxval=50, title="StdDev")
emaInput            = input(title = "EMA Input", type = input.integer, defval = 200, minval = 10, maxval = 400, step = 1)
riskreward          = input(title = "Risk/Reward Ratio", type = input.float, defval = 1.50, minval = 0.01, maxval = 100, step = 0.01)
offset              = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
basis               = sma(src, length)
dev                 = mult * stdev(src, length)
upper               = basis + dev
lower               = basis - dev
ema                 = ema(close, emaInput)

// These are our conditions as explained above
entryLong           = low[1] <= lower[1] and low <= lower and low > ema
entryShort          = high[1] >= upper[1] and high >= upper and high < ema
reversecandleLong   = close > open and close[1] < open[1]
reversecandleShort  = close < open and close[1] > open[1]
var stopLong        = 0.0
var stopShort       = 0.0

// These are our entry signals, notice how the stop condition is within the if statement while the strategy.exit is outside of the if statement, this way the take profit targets trails up or down depending on what the price does
if reversecandleLong and entryLong and strategy.position_size == 0
    stopLong := (((close / upper - 1) * riskreward + 1) * close)
    strategy.entry("Long Entry", strategy.long, comment = "Long Entry")
    
strategy.exit("Exit Long", "Long Entry", limit = upper, stop = stopLong, comment = "Exit Long")

if reversecandleShort and entryShort and strategy.position_size == 0
    stopShort := (((close / lower - 1) / riskreward + 1) * close)
    strategy.entry("Short Entry", strategy.short, comment = "Short Entry")

strategy.exit("Exit Short", "Short Entry", limit = lower, stop = stopShort, comment = "Exit Short")


// The built-in Bollinger Band plots
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
plot(ema, color=color.red)

// These plots are to check the stoplosses, they can  make a mess of your chart so only use these if you want to make sure these work
// plot(stopLong)
// plot(stopShort)

مزید