آر ایس آئی بریک آؤٹ وی ڈبلیو اے پی حکمت عملی

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

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

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

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


/*backtest
start: 2022-09-04 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"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/
// © Mysteriown

//@version=4

strategy("RSI on VWAP Upgraded strategy", overlay=false, pyramiding = 3, commission_value = 0.04)
// pyramiding is the number of positions you can take before closing all of them (be carefull if using it with a trading bot)
// commission_value is the commission taken for each buy/sell



// ------------------------------------------ //
// ----------------- Inputs ----------------- //
// ------------------------------------------ //

length = input(20, title="RSI Length", type=input.integer)
ovrsld = input(30, "RSI Oversold level", type=input.float)
ovrbgt = input(85, "RSI Overbought level", type=input.float)
lateleave = input(28, "Number of candles", type=input.integer)
// lateleave : numbers of bars in overbought/oversold zones where the position is closed. The position is closed when this number is reached or when the zone is left (the first condition).

// best parameters BTCUSDTPERP M15 : 20 / 30 / 85 / 28


stratbull = input(title="Enter longs ?", type = input.bool, defval=true)
stratbear = input(title="Enter shorts ?", type = input.bool, defval=true)
bet = input(0.1, "Amount of coin/token by position", type=input.float)

stratyear = input(2020, title = "Strategy Start Year")
stratmonth = input(7, title = "Strategy Start Month")
stratday = input(1, title = "Strategy Start Day")
stratstart = timestamp(stratyear,stratmonth,stratday,0,0)


// ------------------------------------------ //
// ---------------- Rsi VWAP ---------------- //
// ------------------------------------------ //

rsiVWAP = rsi(vwap(close), length)


// ------------------------------------------ //
// ------------------ Plots ----------------- //
// ------------------------------------------ //

prsi = plot(rsiVWAP, color = rsiVWAP>ovrbgt ? color.red : rsiVWAP<ovrsld ? color.green : color.white, title="RSI on VWAP", linewidth=1, style=plot.style_line)
hline = plot(ovrbgt, color = color.gray, style=plot.style_line)
lline = plot(ovrsld, color = color.gray, style=plot.style_line)
fill(prsi,hline, color = rsiVWAP > ovrbgt ? color.red : na, transp = 30)
fill(prsi,lline, color = rsiVWAP < ovrsld ? color.green : na, transp = 30)


// ------------------------------------------ //
// ---------------- Positions --------------- //
// ------------------------------------------ //

if stratbull and time > stratstart
    strategy.entry("Long", true, bet, when = crossover(rsiVWAP, ovrsld), comment="")
    strategy.close("Long", when = crossover(rsiVWAP, ovrbgt)[lateleave] or crossunder(rsiVWAP, ovrbgt), comment="")

if stratbear and time > stratstart
    strategy.entry("Short", false, bet, when = crossunder(rsiVWAP, ovrbgt), comment="")
    strategy.close("Short", when = crossunder(rsiVWAP, ovrsld)[lateleave] or crossover(rsiVWAP, ovrsld), comment="")

مزید