ڈائنامک اسٹاپ لاس بولنگر بینڈ کی حکمت عملی


تخلیق کی تاریخ: 2024-02-01 10:48:52 آخر میں ترمیم کریں: 2024-02-01 10:48:52
کاپی: 0 کلکس کی تعداد: 682
1
پر توجہ دیں
1617
پیروکار

ڈائنامک اسٹاپ لاس بولنگر بینڈ کی حکمت عملی

جائزہ

اس حکمت عملی کا استعمال کرتے ہوئے Brin کی پٹی کے اوپر اور نیچے ریل، متحرک سٹاپ کے لئے. قیمتوں کے Brin کی پٹی کے اوپر ریل توڑ جب خالی کرو, نیچے ریل توڑ جب زیادہ کرو, اور متحرک سٹاپ قائم, قیمتوں کے آپریشن کو ٹریک.

اصول

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

فوائد

  1. برن بینڈ کی مضبوط واپسی کی غیر جانبدار خصوصیات کا استعمال کرتے ہوئے، درمیانی اور لمبی لائن رجحانات کو پکڑنے کے لئے؛
  2. اس کے علاوہ، آپ کو اپنے آپ کو اس بات کا یقین کرنے کی ضرورت ہے کہ آپ کے پاس کوئی اور نہیں ہے.
  3. متحرک سلائڈ پوائنٹ اسٹاپ نقصان کی ترتیب ، منافع کو زیادہ سے زیادہ لاک کرنا ، اور خطرے پر قابو پانا۔
  4. مارکیٹ کے پیرامیٹرز کے مطابق ایڈجسٹ کیا جا سکتا ہے، مختلف حالات کے مطابق.

خطرات اور حل

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

اصلاح کی سمت

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

خلاصہ کریں۔

یہ حکمت عملی ، جس میں برن بینڈ کی رجعت کی خاصیت کا استعمال کیا جاتا ہے ، متحرک سلائڈ اسٹاپ نقصان کے ساتھ مل کر ، خطرے پر قابو پانے کے پیش نظر وسط اور لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle="BB Strategy", title="Bollinger Bands Strategy", overlay=true)
length = input.int(20, minval=1, group = "Bollinger Bands")
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group = "Bollinger Bands")
src = input(close, title="Source", group = "Bollinger Bands")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev", group = "Bollinger Bands")

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, group = "Bollinger Bands")
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

lo = input.bool(true, "Long", group = "Strategy")
sh = input.bool(true, "Short", group = "Strategy")
x = input.float(3.0, "Target Multiplier (X)", group = "Strategy", minval = 1.0, step = 0.1)
token = input.string(defval = "", title = "Token", group = "AUTOMATION")
Buy_CE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(1) + '"}'
Buy_PE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(2) + '"}'
Exit_CE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(-1) + '"}'
Exit_PE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(-2) + '"}'
Exit_PE_CE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(2.5) + '"}'
Exit_CE_PE = '{"auth-token":"' + token + '","key":"Value1","value":"' + str.tostring(1.5) + '"}'
long = high < lower
short = low > upper
var sl_b = 0.0
var tar_b = 0.0
var sl_s = 0.0
var tar_s = 0.0
var static_sl = 0.0
entry = strategy.opentrades.entry_price(strategy.opentrades - 1)
if long and lo and strategy.position_size == 0
    strategy.entry("Long", strategy.long, alert_message = Buy_CE, stop = high)
    strategy.exit("LX", "Long", profit = (math.abs(high - low) * x)/syminfo.mintick, stop = low, alert_message = Exit_CE)
    sl_b := low
    tar_b := high + (math.abs(high - low) * x)
    static_sl := math.abs(low - high)
if short and sh and strategy.position_size == 0
    strategy.entry("Short", strategy.short, alert_message = Buy_PE, stop = low)
    strategy.exit("SX", "Short", profit = (math.abs(high - low) * x)/syminfo.mintick, stop = high, alert_message = Exit_PE)
    sl_s := high
    tar_s := low - (math.abs(high - low) * x)
    static_sl := math.abs(high - low)
// if long and strategy.position_size < 0
//     strategy.entry("Long", strategy.long, alert_message = Exit_PE_CE, stop = high)
//     strategy.exit("LX", "Long", profit = (math.abs(high - low) * x)/syminfo.mintick, stop = low, alert_message = Exit_CE)
//     sl_b := low
//     tar_b := high + (math.abs(high - low) * x)
// if short and strategy.position_size > 0
//     strategy.entry("Short", strategy.short, alert_message = Exit_CE_PE, stop = low)
//     strategy.exit("SX", "Short", profit = (math.abs(high - low) * x)/syminfo.mintick, stop = high, alert_message = Exit_PE)
//     sl_s := math.max(high[1], high)
//     tar_s := low - (math.abs(high - low) * x)
if ta.change(dayofmonth) or (long[1] and not long[2])
    strategy.cancel("Long")
if ta.change(dayofmonth) or (short[1] and not short[2])
    strategy.cancel("Short")
var count = 1
if strategy.position_size != 0
    if strategy.position_size > 0
        if close > (entry + (static_sl * count))
            strategy.exit("LX", "Long", limit = tar_b, stop = sl_b, alert_message = Exit_CE)
            sl_b := entry + (static_sl * (count - 1))
            count += 1
            
    else
        if close < (entry - (static_sl * count))
            strategy.exit("SX", "Short", limit = tar_s, stop = sl_s, alert_message = Exit_PE)
            sl_s := entry - (static_sl * (count - 1))
            count += 1
// label.new(bar_index, high, str.tostring(static_sl))
if strategy.position_size == 0
    count := 1
plot(strategy.position_size > 0 ? sl_b : na, "", color.red, style = plot.style_linebr)
plot(strategy.position_size < 0 ? sl_s : na, "", color.red, style = plot.style_linebr)
plot(strategy.position_size > 0 ? tar_b : na, "", color.green, style = plot.style_linebr)
plot(strategy.position_size < 0 ? tar_s : na, "", color.green, style = plot.style_linebr)