وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2023-09-13 11:57:39
ٹیگز:

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

حکمت عملی منطق:

  1. قیمت کے رجحان کا تعین کرنے کے لئے اوسط اور بولنگر بینڈ کا حساب لگائیں۔

  2. RSI کا حساب لگانے کے لئے overbought / oversold کی سطح کی نشاندہی کریں.

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

  4. ہر تجارت میں نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کا استعمال کریں.

فوائد:

  1. کثیر اشارے کی تصدیق سے خراب تجارت کم ہوتی ہے۔

  2. آر ایس آئی ایم اے کی حدود کی تکمیل کرتا ہے۔

  3. بی بی، فرار کی سطح کی نشاندہی.

خطرات:

  1. متعدد پیرامیٹرز کو بہتر بنانے میں وقت لگتا ہے.

  2. RSI اور BBs کے درمیان کچھ redundancy.

  3. بریک آؤٹ ناکامیوں اور الٹ کے لئے موزوں ہیں.

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


/*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) //////////////////////////////////////////////



مزید