RSI اور بولنگر بینڈ سپورٹ اور ریزسٹنس ڈائنامک امتزاج مقداری حکمت عملی


تخلیق کی تاریخ: 2024-01-24 15:19:22 آخر میں ترمیم کریں: 2024-01-24 15:19:22
کاپی: 1 کلکس کی تعداد: 709
1
پر توجہ دیں
1617
پیروکار

RSI اور بولنگر بینڈ سپورٹ اور ریزسٹنس ڈائنامک امتزاج مقداری حکمت عملی

جائزہ

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

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

اس حکمت عملی میں بنیادی طور پر آر ایس آئی ، برن بینڈ اور متحرک سپورٹ مزاحمت کے 3 حصوں پر مشتمل ہے۔

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

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

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

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

اسٹریٹجک فوائد

  1. بنیادی اشارے تکنیکی اشارے کے ساتھ مل کر. آر ایس آئی بنیادی طور پر اوور بیئر اور اوور سیل کا تعین کرتے ہوئے ، بلین بینڈ کا استعمال کرتے ہوئے قیمت کی تکنیکی شکل کا تعین کرتا ہے.

  2. متحرک سپورٹ اور مزاحمت کا حساب کتاب ، قیمت کی نقل و حرکت کی اصل سپورٹ اور مزاحمت کے قریب۔

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

اسٹریٹجک رسک

  1. آر ایس آئی پیرامیٹرز کی غلط ترتیب سے غلط فیصلے کا سبب بن سکتا ہے۔ آر ایس آئی کی لمبائی بہت کم ہونے سے شور بڑھ جاتا ہے۔ آر ایس آئی اووربائ اور اوور سیلنگ کی حد کی غلط ترتیب بھی غلطی کا سبب بن سکتی ہے۔

  2. برن کی پٹی کے پیرامیٹرز جیسے لمبائی، StdDev ضارب کی غلط ترتیب بھی فیصلے کی درستگی کو متاثر کرتی ہے۔

  3. متحرک سپورٹ اور مزاحمت کی تاخیر کی وجہ سے تاریخی اونچائی اور کم کی گنتی ہوتی ہے۔ صارف کو سپورٹ اور مزاحمت کے پیرامیٹرز کو مناسب طریقے سے بہتر بنانا چاہئے تاکہ سپورٹ اور مزاحمت کی سطح موجودہ قیمت کے قریب ہو۔

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

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

  1. آر ایس آئی پیرامیٹرز کی ترتیبات کی جانچ کریں ، آر ایس آئی کی لمبائی کو بہتر بنائیں ، حد سے زیادہ خریدیں اور حد سے زیادہ فروخت کریں۔

  2. برن بینڈ پیرامیٹرز کی ترتیبات کی جانچ کریں ، برن بینڈ کی لمبائی کو بہتر بنائیں ، StdDev ضرب

  3. متحرک سپورٹ اور مزاحمت کے پیرامیٹرز کو بہتر بنائیں تاکہ سپورٹ اور مزاحمت کی سطح کو قیمت کے قریب لایا جاسکے۔ آپ مختصر دورانیے ، کم تاریخی اونچائی اور کم سے کم سیٹنگ وغیرہ آزما سکتے ہیں۔

  4. RSI کے ساتھ دوسرے معاون اشارے جیسے KDJ ، MACD اور دیگر کو شامل کرنا یا جانچنا ، فیصلہ کی درستگی کو بہتر بناتا ہے۔

  5. رجحان فلٹر پیرامیٹرز کی جانچ ، فلٹر کی لمبائی کو بہتر بنانا ، ہولڈنگ کا وقت بڑھانا ، غیر ضروری ریورس آپریشن کو کم کرنا۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI + BB + S/R Strategy with Trend Filter", shorttitle="RSI + BB + S/R + Trend Filter", overlay=true)

// RSI Settings
rsi_length = input.int(14, title="RSI Length")
overbought = input.int(70, title="Overbought Level")
oversold = input.int(30, title="Oversold Level")

// Bollinger Bands Settings
bb_length = input.int(20, title="BB Length")
bb_deviation = input.float(2.0, title="BB Deviation")

// Dynamic Support/Resistance Settings
pivot_period = input.int(10, title="Pivot Period")
pivot_source = input.string("High/Low", title="Pivot Source", options=["High/Low", "Close/Open"])
max_pivots = input.int(20, title="Maximum Number of Pivot", minval=5, maxval=100)
channel_width = input.int(10, title="Maximum Channel Width %", minval=1)
max_sr_levels = input.int(5, title="Maximum Number of S/R Levels", minval=1, maxval=10)
min_strength = input.int(2, title="Minimum Strength", minval=1, maxval=10)

// Trend Filter Settings
use_trend_filter = input.bool(false, title="Use Trend Filter")
trend_filter_length = input.int(50, title="Trend Filter Length")

// Calculate RSI and Bollinger Bands
rsi = ta.rsi(close, rsi_length)
basis = ta.sma(close, bb_length)
deviation = ta.stdev(close, bb_length)
upper_band = basis + bb_deviation * deviation
lower_band = basis - bb_deviation * deviation

// Plot Bollinger Bands on the chart
plot(upper_band, color=color.blue, title="Upper Bollinger Band")
plot(lower_band, color=color.red, title="Lower Bollinger Band")

// Dynamic Support/Resistance Calculation
float src1 = pivot_source == "High/Low" ? high : math.max(close, open)
float src2 = pivot_source == "High/Low" ? low : math.min(close, open)
float ph = ta.pivothigh(src1, pivot_period, pivot_period)
float pl = ta.pivotlow(src2, pivot_period, pivot_period)


// Calculate maximum S/R channel zone width
prdhighest = ta.highest(300)
prdlowest = ta.lowest(300)
cwidth = (prdhighest - prdlowest) * channel_width / 100

var pivotvals = array.new_float(0)

if ph or pl
    array.unshift(pivotvals, ph ? ph : pl)
    if array.size(pivotvals) > max_pivots
        array.pop(pivotvals)

get_sr_vals(ind) =>
    float lo = array.get(pivotvals, ind)
    float hi = lo
    int numpp = 0
    for y = 0 to array.size(pivotvals) - 1 by 1
        float cpp = array.get(pivotvals, y)
        float wdth = cpp <= lo ? hi - cpp : cpp - lo
        if wdth <= cwidth
            if cpp <= hi
                lo := math.min(lo, cpp)
            else
                hi := math.max(hi, cpp)
            numpp += 1
    [hi, lo, numpp]

var sr_up_level = array.new_float(0)
var sr_dn_level = array.new_float(0)
sr_strength = array.new_float(0)

find_loc(strength) =>
    ret = array.size(sr_strength)
    for i = ret > 0 ? array.size(sr_strength) - 1 : na to 0 by 1
        if strength <= array.get(sr_strength, i)
            break
        ret := i
    ret

check_sr(hi, lo, strength) =>
    ret = true
    for i = 0 to array.size(sr_up_level) > 0 ? array.size(sr_up_level) - 1 : na by 1
        if array.get(sr_up_level, i) >= lo and array.get(sr_up_level, i) <= hi or array.get(sr_dn_level, i) >= lo and array.get(sr_dn_level, i) <= hi
            if strength >= array.get(sr_strength, i)
                array.remove(sr_strength, i)
                array.remove(sr_up_level, i)
                array.remove(sr_dn_level, i)
            else
                ret := false
            break
    ret

if ph or pl
    array.clear(sr_up_level)
    array.clear(sr_dn_level)
    array.clear(sr_strength)
    for x = 0 to array.size(pivotvals) - 1 by 1
        [hi, lo, strength] = get_sr_vals(x)
        if check_sr(hi, lo, strength)
            loc = find_loc(strength)
            if loc < max_sr_levels and strength >= min_strength
                array.insert(sr_strength, loc, strength)
                array.insert(sr_up_level, loc, hi)
                array.insert(sr_dn_level, loc, lo)
                if array.size(sr_strength) > max_sr_levels
                    array.pop(sr_strength)
                    array.pop(sr_up_level)
                    array.pop(sr_dn_level)

// Calculate the Trend Filter
trend_filter = use_trend_filter ? ta.sma(close, trend_filter_length) : close

// Buy Condition (RSI + Proximity to Support + Trend Filter)
buy_condition = ta.crossover(rsi, oversold) and close <= ta.highest(high, max_sr_levels) and close >= ta.lowest(low, max_sr_levels) and (not use_trend_filter or close > trend_filter)

// Sell Condition (RSI + Proximity to Resistance + Trend Filter)
sell_condition = ta.crossunder(rsi, overbought) and close >= ta.lowest(low, max_sr_levels) and close <= ta.highest(high, max_sr_levels) and (not use_trend_filter or close < trend_filter)

// Strategy Orders
strategy.entry("Buy", strategy.long, when = buy_condition)
strategy.entry("Sell", strategy.short, when = sell_condition)