بولنگر بینڈ کی تجارتی حکمت عملی کے ساتھ مل کر RSI اشارے


تخلیق کی تاریخ: 2023-12-21 11:17:19 آخر میں ترمیم کریں: 2023-12-21 11:17:19
کاپی: 0 کلکس کی تعداد: 809
1
پر توجہ دیں
1623
پیروکار

بولنگر بینڈ کی تجارتی حکمت عملی کے ساتھ مل کر RSI اشارے

ایک، حکمت عملی کا جائزہ

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

2. حکمت عملی کے اصول

1. RSI اشارے کی واپسی کا فیصلہ

آر ایس آئی اشارے سے یہ معلوم ہوتا ہے کہ آیا اسٹاک اوور بائی اوور سیل رینج میں ہے۔ آر ایس آئی اوور بائی ہے جب وہ مقررہ اوور بائی لائن سے زیادہ ہو اور اوور سیل ہے جب وہ مقررہ اوور سیل رینج سے کم ہو۔ اس حکمت عملی میں اوور بائی لائن 50 اور اوور سیل لائن 50 ہے۔

2۔ برن بینڈ فیصلہ کرنے کا رجحان

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

3. RSI اور برن بینڈ انڈیکس کے ساتھ مل کر

جب آر ایس آئی اشارے میں نیچے کی طرف مڑنے کا اشارہ ہوتا ہے ، اور جب اسٹاک کی قیمت بورن بینڈ سے نیچے کی ٹریک کو توڑتی ہے تو ، یہ سمجھا جاتا ہے کہ نیچے سے اوپر کی طرف مڑنے کا اشارہ ہوتا ہے ، اور زیادہ کام کرتا ہے۔ جب آر ایس آئی اشارے میں اوپر کی طرف مڑنے کا اشارہ ہوتا ہے ، اور اسٹاک کی قیمت بورن بینڈ سے اوپر کی ٹریک کو توڑتی ہے تو ، یہ سمجھا جاتا ہے کہ اوپر سے نیچے کی طرف مڑنے کا اشارہ ہوتا ہے ، اور کم ہوتا ہے۔

تیسرا، حکمت عملی کا فائدہ

1. ڈبل اشارے فلٹرنگ سگنل کی درستگی میں اضافہ

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

2 ۔ سٹاپ نقصان میکانیزم کنٹرول خطرے

اسٹریٹجی نے اسٹاپ اسٹاپ نقصان کا مقام طے کیا ، اور اسٹاپ اسٹاپ کو داخلہ قیمت کے طور پر بنایا(1 + سٹاپ نقصان کا تناسب)(1- روکنے کے نقصان کا تناسب) ؛ اس کے برعکس ، یہ منافع کو لاک کرنے ، نقصان کو زیادہ سے زیادہ سے بچنے اور خطرے پر قابو پانے میں مدد کرتا ہے۔

3. اپنی مرضی کے مطابق خرید و فروخت کی سمت

اسٹریٹجی میں صرف زیادہ ، صرف مختصر یا دو طرفہ تجارت کا انتخاب کیا جاسکتا ہے ، صارف مارکیٹ کے حالات کے مطابق مختلف سمتوں کا انتخاب کرسکتا ہے ، اور خطرے کو لچکدار طریقے سے کنٹرول کرسکتا ہے۔

چار، حکمت عملی کا خطرہ

1۔ برن بینڈ پیرامیٹر حساس

برین بینڈ کے معیاری سائز کا فرق برین بینڈ کی چوڑائی پر اثر انداز ہوتا ہے جس سے ٹریڈنگ سگنل پیدا ہوتا ہے۔ اگر پیرامیٹرز کو غلط ترتیب دیا جائے تو ، بہت سارے غلط سگنل پیدا ہوسکتے ہیں۔

2 ۔ سٹاپ نقصان کا خطرہ

اسٹاپ نقصان کی ترتیب بہت زیادہ ہوسکتی ہے اور غیر ضروری نقصانات کا سبب بن سکتی ہے اگر تجارت میں وی ٹرن آؤٹ ہوتا ہے۔

3. RSI پیرامیٹرز حساس

آر ایس آئی کے پیرامیٹرز آر ایس آئی وکر کی شکل کو بھی متاثر کرتے ہیں۔ اگر آر ایس آئی پیرامیٹرز کو غلط ترتیب دیا جائے تو ، آر ایس آئی الٹ سگنل کی درستگی کم ہوجاتی ہے۔

پانچواں: حکمت عملی کو بہتر بنانے کی سمت

RSI پیرامیٹرز کو بہتر بنائیں

زیادہ سے زیادہ آر ایس آئی لمبائی پیرامیٹرز کی جانچ کی جاسکتی ہے تاکہ بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔

2۔ برن بینڈ پیرامیٹرز کو بہتر بنائیں

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

3 ۔ مختلف سٹاپ نقصان تناسب کی جانچ

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

VI

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BigCoinHunter

//@version=5
strategy(title="RSI_Boll-TP/SL", overlay=true, 
     pyramiding=0, default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, initial_capital=1000, 
     currency=currency.USD, commission_value=0.05, 
     commission_type=strategy.commission.percent, 
     process_orders_on_close=true)

//----------- get the user inputs --------------

//---------- RSI -------------
price = input(close, title="Source")

RSIlength = input.int(defval=6,title="RSI Length") 
RSIoverSold = input.int(defval=50, title="RSI OverSold", minval=1)
RSIoverBought = input.int(defval=50, title="RSI OverBought", minval=1)

//------- Bollinger Bands -----------
BBlength = input.int(defval=200, title="Bollinger Period Length", minval=1)
BBmult = input.float(defval=2.0, minval=0.001, maxval=50, step=0.1, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = ta.crossover(source, BBlower)
sellEntry = ta.crossunder(source, BBupper)
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
fill(plot1=p1, plot2=p2, title="Bollinger BackGround", color=color.new(color.aqua,90), fillgaps=false, editable=true)

//---------- input TP/SL ---------------
tp = input.float(title="Take Profit:", defval=0.0, minval=0.0, maxval=100.0, step=0.1) * 0.01
sl = input.float(title="Stop Loss:  ", defval=0.0, minval=0.0, maxval=100.0, step=0.1) * 0.01

longEntry = input.bool(defval=true, title= 'Long Entry', inline="11")
shortEntry = input.bool(defval=true, title='Short Entry', inline="11")

//---------- backtest range setup ------------
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2021, title = "From Year", minval = 2010)
toDay     = input.int(defval = 30, title = "To Day", minval = 1, maxval = 31)
toMonth   = input.int(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear    = input.int(defval = 2042, title = "To Year", minval = 2010)

//------------ time interval setup -----------
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish    = timestamp(toYear, toMonth, toDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

//------- define the global variables ------
var bool long = true
var bool stoppedOutLong = false
var bool stoppedOutShort = false
//--------- Colors ---------------

TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na
//bgcolor(switch2?(color.new(TrendColor,50)):na)


//--------- calculate the input/output points -----------
longProfitPrice  = strategy.position_avg_price * (1 + tp)     // tp -> take profit percentage
longStopPrice = strategy.position_avg_price * (1 - sl)        // sl -> stop loss percentage

shortProfitPrice  = strategy.position_avg_price * (1 - tp)
shortStopPrice = strategy.position_avg_price * (1 + sl)


//---------- RSI + Bollinger Bands Strategy -------------
vrsi = ta.rsi(price, RSIlength)

rsiCrossOver = ta.crossover(vrsi, RSIoverSold)
rsiCrossUnder = ta.crossunder(vrsi, RSIoverBought)

BBCrossOver = ta.crossover(source, BBlower)
BBCrossUnder = ta.crossunder(source, BBupper)

if (not na(vrsi))

    if rsiCrossOver and BBCrossOver
        long := true
        
    if rsiCrossUnder and BBCrossUnder
        long := false

//------------------- determine buy and sell points ---------------------
buySignall = window() and long  and (not stoppedOutLong)
sellSignall = window() and (not long)  and (not stoppedOutShort)

//---------- execute the strategy -----------------
if(longEntry and shortEntry)
    if long 
        strategy.entry("LONG", strategy.long, when = buySignall, comment = "ENTER LONG")
        stoppedOutLong := true
        stoppedOutShort := false
    else 
        strategy.entry("SHORT", strategy.short, when = sellSignall, comment = "ENTER SHORT")
        stoppedOutLong  := false
        stoppedOutShort := true

else if(longEntry)
    strategy.entry("LONG", strategy.long,  when = buySignall)
    strategy.close("LONG", when = sellSignall)
    if long 
        stoppedOutLong := true
    else
        stoppedOutLong  := false

else if(shortEntry)
    strategy.entry("SHORT", strategy.short, when = sellSignall)
    strategy.close("SHORT", when = buySignall)
    if not long
        stoppedOutShort := true
    else
        stoppedOutShort := false
    

//----------------- take profit and stop loss -----------------
if(tp>0.0 and sl>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG", limit=longProfitPrice, stop=longStopPrice, comment="Long TP/SL Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT", limit=shortProfitPrice, stop=shortStopPrice, comment="Short TP/SL Trigger")

else if(tp>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG", limit=longProfitPrice, comment="Long TP Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT", limit=shortProfitPrice, comment="Short TP Trigger")
        
else if(sl>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG",  stop=longStopPrice, comment="Long SL Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT",  stop=shortStopPrice, comment="Short SL Trigger")