आरएसआई ब्रेकआउट वीडब्ल्यूएपी रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-11 14:13:35
टैगः

यह रणनीति VWAP पर आरएसआई संकेतक लागू करती है, और आरएसआई सीमा ब्रेकआउट्स के आधार पर लंबी / छोटी दिशा निर्धारित करती है। विशेष रूप से, यह तब छोटा हो जाता है जब आरएसआई ओवरबॉट स्तर से ऊपर टूट जाता है, और जब आरएसआई ओवरसोल्ड स्तर से नीचे टूट जाता है तो लंबा हो जाता है। यह एक निश्चित अवधि के लिए लगातार सीमा ब्रेक के बाद भी बाहर निकलता है।

इस रणनीति का लाभ ओवरबॉट / ओवरसोल्ड के लिए आरएसआई और मूल्य प्रवृत्ति के लिए वीडब्ल्यूएपी दोनों का उपयोग करना है, जो झूठे संकेतों को फ़िल्टर करने में मदद करता है। लेकिन यह प्रवृत्ति उलटों की पहचान करने में भी पिछड़ने का जोखिम उठाता है। आरएसआई मापदंडों और लगातार ब्रेकआउट अवधि को ठीक करने से रणनीति को अनुकूलित किया जा सकता है।

संक्षेप में, आरएसआई ब्रेकआउट वीडब्ल्यूएपी रणनीति व्यापार के अवसरों की पहचान करने के लिए कई संकेतकों को जोड़ती है, लेकिन विभिन्न बाजार स्थितियों के अनुकूल होने के लिए सावधानीपूर्वक परीक्षण और समायोजन की आवश्यकता होती है। इस रणनीति को दीर्घकालिक रूप से लागू करने के लिए जोखिम को नियंत्रित करना महत्वपूर्ण है।


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

अधिक