Average Vidya sur RSI
Forums › ProRealTime English forum › ProBuilder support › Average Vidya sur RSI
- This topic has 6 replies, 2 voices, and was last updated 1 month ago by
Bateson.
-
-
11/23/2023 at 12:28 AM #224180
Bonjour
je souhaiterai savoir comment lisser RSI avec une moyenne mobile Vidya.
Voici le début du code mais il renvoie un signal d’erreur.
Merci beaucoup pour votre aide
123456789101112131415161718<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//Vidya </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//Période = 14 </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">si barindex>100 alors </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">k=abs(Chandle[20](fermer))/100 </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">alpha=2/(14+1) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">vidya=(alfa*k*fermer+(1-alfa*k )*vidya[1]) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">fin si </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//retourne Vidya, Fermer </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//lisserRSI = moyenne[val, moyenne](RSI[rsival]) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">smoothrsi= moyenne [14,vidya] (RSI[rsival]) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//Parcelles </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">TIRAGE( ob ) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">DRAWHLINE(os) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">STYLE DRAWHLINE(50) (DOTTEDLINE3) </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">renvoie smoothRSI comme "RSI Lissé"</span></span></span></span>11/23/2023 at 12:32 AM #224181123456789101112131415161718//Vidya//Period = 14if barindex>100 thenk=abs(Chandle[20](close))/100alfa=2/(14+1)vidya=(alfa*k*close+(1-alfa*k)*vidya[1])endif//return vidya, Close//smoothRSI = average[val, aver](RSI[rsival])smoothrsi= average [14,vidya] (RSI[rsival])//PlotsDRAWHLINE(ob )DRAWHLINE(os )DRAWHLINE(50) STYLE (DOTTEDLINE3)return smoothRSI as "RSI Lissé"11/23/2023 at 11:19 PM #224217Hi,
I think you should replace the “Close” with the “RSI”…
Vidya RSI12345678910Period = 14xRSI=RSI[14](Close)if barindex>100 thenk=abs(Chandle[20](xRSI))/100alfa=2/(Period+1)vidya=(alfa*k*xRSI+(1-alfa*k)*vidya[1])endifDrawHLine(70) Coloured("Blue")DrawHLine(30) Coloured("Blue")return vidya Coloured("Red"), xRSI11/24/2023 at 10:32 AM #224232Merci beaucoup JS pour la réponse.
cela n’est pas exactement ce que j’attendais mais cela m’aide bien 🙂
Dans mon, code (line11), ce que je voudrais c’est appliquer la Vidya pour avoir un rsi “smooth” : smoothrsi = Average [ 14 ,vidya ] ( RSI [ rsival ] ) ???
Merci beaucoup !
1 user thanked author for this post.
11/24/2023 at 5:48 PM #22426411/24/2023 at 6:20 PM #224267Merci beaucoup pour le temps passé 🙂
je comprends que ma question n’est pas tres claire.
Votre réponse m’a déjà fait beaucoup progresser…
ce que je voudrai c’est que la Vidya ne soit pas “sur” le RSI mais “dans” le calcul du RSI… mais ca n’est peut être pas clair 🙁
Merci infiniment en tout cas pour le temps passé
1 user thanked author for this post.
02/23/2025 at 8:25 AM #244209Bonjour
J’ai finalement réussi à trouver sur PRT ce que je cherchais.
Pourriez vous m’aider à traduire le code suivant pour PRT ?
Merci d’avance !
Vidya et RSI12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © bartua// Optimized Trend Tracker function under copyright and courtesy of KivancOzbilgic.//@version=5indicator("RSI Wave Signals", overlay=false)period1 = input(2,"Period For MA")mtp1 = input.float(0.7,"Trailing Percentage of MA",step=0.1)rsiLength = input(12,"RSI Length")ottFunction(src,length,percent)=>valpha=2/(length+1)vud1=src>src[1] ? src-src[1] : 0vdd1=src<src[1] ? src[1]-src : 0vUD=math.sum(vud1,9)vDD=math.sum(vdd1,9)vCMO=nz((vUD-vDD)/(vUD+vDD))VAR=0.0VAR:=nz(valpha*math.abs(vCMO)*src)+(1-valpha*math.abs(vCMO))*nz(VAR[1])MAvg=VARfark=MAvg*percent*0.01longStop = MAvg - farklongStopPrev = nz(longStop[1], longStop)longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStopshortStop = MAvg + farkshortStopPrev = nz(shortStop[1], shortStop)shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStopdir = 1dir := nz(dir[1], dir)dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dirMT = dir==1 ? longStop: shortStopOTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200[dir,OTT[2],MAvg]//MACD Calculations//rsi = ta.rsi(close,rsiLength)+1000[dir1,ott1,sl1] = ottFunction(rsi,period1,mtp1)plot(ott1,title="OTT",linewidth=1,color=color.white)plot(sl1,title="SL",linewidth=2,color=color.aqua)overSoldLevel = input(40,title="Oversold Level") +1000overBoughtLevel = input(60,title="Overbought Level") +1000plot(overSoldLevel, title="Oversold",style=plot.style_circles,color=color.blue)plot(overBoughtLevel, title="Overbought",style=plot.style_circles,color=color.blue) -
AuthorPosts
Find exclusive trading pro-tools on