یہ حکمت عملی تجارت کے مواقع کی نشاندہی کرنے کے لئے قیمتوں کے رجحانات اور اوور خرید اوور فروخت کے رجحانات کا اندازہ لگانے کے لئے میڈین لائن ، برن بینڈ اور آر ایس آئی اشارے کا استعمال کرتی ہے۔ یہ حکمت عملی متعدد اشارے کی طاقت کو اکٹھا کرتی ہے ، جس سے ٹریڈنگ کے فیصلوں کی درستگی میں اضافہ ہوتا ہے۔
حکمت عملی:
اوسط لائن اور اس کے برلن بینڈ کا حساب لگائیں تاکہ قیمتوں میں لمبی لائن حرکت کا اندازہ لگایا جاسکے۔
RSI کا حساب لگائیں کہ آیا آپ اوور بائڈ یا اوور سیلڈ ہیں۔
جب قیمت نیچے کی طرف سے اوپر کی طرف سے ٹوٹ جاتی ہے اور RSI ایک کثیر کراس کے ساتھ ہوتا ہے تو ، زیادہ کام کریں۔
جب قیمت اوپر سے نیچے سے ٹوٹ کر بلین بینڈ کو ٹریک پر لے جائے اور آر ایس آئی میں ہیڈ کراس ہو تو ، خالی کریں۔
اسٹاپ نقصان کی حد مقرر کریں اور انفرادی نقصان کو کنٹرول کریں۔
اس حکمت عملی کے فوائد:
کثیر اشارے کے مجموعے کی توثیق ، غلط تجارت کے امکانات کو کم کرتی ہے۔
RSI اشارے ایک مساوی نظام کی کمی کو پورا کرتا ہے۔
ایک ہی لائن میں برین کے ساتھ ایک قابل شناخت نقطہ نظر ہے.
اس حکمت عملی کے خطرات:
کثیر پیمائش کے مجموعے کو پیرامیٹرز کو بہتر بنانے کے لئے وقت کی ضرورت ہوتی ہے.
RSI اور برن بینڈ میں کچھ حد تک تکرار ہے۔
اس کے نتیجے میں ، آپ کے پاس ایک ٹرانزیکشن ہے جس میں آپ کے پاس ایک ٹرانزیکشن ہے جس میں آپ کے پاس ایک ٹرانزیکشن ہے جس میں آپ کے پاس ایک ٹرانزیکشن ہے۔
خلاصہ یہ ہے کہ ، اس حکمت عملی نے ایک ساتھ اوسط لائن ، برن بینڈ اور آر ایس آئی اشارے کا استعمال کیا ہے تاکہ رجحانات کا فیصلہ کرنے کے ساتھ ساتھ واپسی کے تجارتی مواقع کی نشاندہی کی جاسکے۔ اشارے کا ایک ساتھ استعمال کرنے سے اثر و رسوخ میں اضافہ ہوسکتا ہے ، لیکن پیرامیٹرز کی اصلاح اور خطرے پر قابو پانے کی ضرورت ہے۔
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 30m
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/
// © LucasVivien
//@version=4
strategy("MA Bolinger Bands + RSI ", shorttitle="MABB + RSI", overlay=true)
// User input
source = input(title="Price source" , type=input.source , defval=close)
RSIlen = input(title="RSI Length" , type=input.integer , defval=6 , group="RSI")
RSIlvlOB = input(title="RSI Overbough" , type=input.integer , defval=50 , group="RSI")
RSIlvlOS = input(title="RSI Oversold" , type=input.integer , defval=50 , group="RSI")
RSIN = input(title="RSI Neutral" , type=input.integer , defval=50 , group="RSI")
MAlen = input(title="MA Length" , type=input.integer , defval=200 , group="MABB")
BBlen = input(title="BB Length" , type=input.integer , defval=200 , group="MABB")
BBmult = input(title="BB multiplier" , type=input.float , defval=2.0 , group="MABB" , tooltip="Set BB closer / appart", minval=0.001, maxval=50)
MAtype = input(title="MA type" , type=input.string , defval="SMA", group="MABB" , tooltip="MA type used in BB", options=["SMA", "EMA", "HMA"])
//SLmult = input(title="SL value" ,type=input.float , defval=0.06)
// Used indicators
RSI = rsi(source, RSIlen)
MA = sma(source, MAlen)
if MAtype == "EMA"
MA := ema(source, MAlen)
if MAtype == "HMA"
MA := hma(source, MAlen)
// Perform Calculations
BBdev = BBmult * stdev(source, BBlen)
BBupper = MA + BBdev
BBlower = MA - BBdev
longSL = close - close * 0.06
shortSL = close + close * 0.06
// Signals validation ([0] is trade displayed from strategy() on chart => long/short entry)
BBbull = (open < BBlower) and (close > BBlower)
BBbear = (open > BBupper) and (close < BBupper)
RSIbull = crossover(RSI , RSIN)
RSIbear = crossunder(RSI, RSIN)
Longsignal = (BBbull) and (RSIbull or RSIbull[1] or
RSIbull[2] or RSIbull[3] or RSIbull[4] or
RSIbull[5] or RSIbull[6] or RSIbull[7] or
RSIbull[8] or RSIbull[9] or RSIbull[10])
Shortsignal = (BBbear) and (RSIbear or RSIbear[1] or
RSIbear[2] or RSIbear[3] or RSIbear[4] or
RSIbear[5] or RSIbear[6] or RSIbear[7] or
RSIbear[8] or RSIbear[9] or RSIbear[10])
// Save SL values
var SLlongsaved = 0.0
var SLshortsaved = 0.0
if Longsignal and (strategy.position_size == -1) ///////////////////////////////
SLlongsaved := longSL
if Shortsignal and (strategy.position_size == 1) ////////////////////////////////
SLshortsaved := shortSL
// Plots
//plotshape(Longsignal , size=size.small, color=color.teal)
//plotshape(Shortsignal, size=size.small, color=color.fuchsia)
plot(Longsignal ? longSL : na, color=color.red, style=plot.style_linebr, linewidth=6)
plot(Shortsignal ? shortSL : na, color=color.red, style=plot.style_linebr, linewidth=6)
p1 = plot(BBupper,title="Bollinger Bands Upper Line", color=color.gray, transp=60)
p2 = plot(BBlower,title="Bollinger Bands Lower Line", color=color.gray, transp=60)
plot(MA, title="Bollinger Bands MA Basis Line" , color=color.white, transp=50)
fill(p1, p2, color=color.white, transp=92)
// Strategy Entry & Exit
//if Longsignal
strategy.entry(id="Long entry", long=true, when=Longsignal) //, oca_name="x", oca_type=strategy.oca.cancel)
//if Shortsignal
strategy.entry(id="Short entry", long=false, when=Shortsignal) //, oca_name="x", oca_type=strategy.oca.cancel)
strategy.close(id="Long exit", when=strategy.position_size > 0)//, from_entry="Long entry" //, when=strategy.position_size > 0 // , stop=SLlongsaved)
strategy.close(id="Short Exit", when=strategy.position_size < 0)//, from_entry="Short entry" //, when=strategy.position_size < 0 //, stop=SLshortsaved)
plot(strategy.position_size) //////////////////////////////////////////////