COnnors RSI
Forums › ProRealTime forum Français › Support ProBuilder › COnnors RSI
- This topic has 6 replies, 2 voices, and was last updated 2 years ago by robertogozzi.
-
-
06/19/2017 at 2:09 PM #38601
Bonjour Nicolas,
Je te sollicite à nouveau pour la création du Connors RSI. J’ai cherché sur le forum et malheureusement le Connors RSi que j’ai trouvé
ne ressemble en rien à celui de la plateforme MT4. Je me permets donc de poster le code du Connors RSI de mt4. Ca serait génial s’il pouvait
être traduit pour prt.
En tout cas merci pour tous ces efforts.Je te joins le code du Connors ainsi que quelque captures. Et si je peux abuser un peu, sur le connors il y a 2 standard déviation servant de support/resistance. Est ce qu’il
est possible de les ajouter sur le connors?
STD du haut (75 simple)
STD du bas ( 50 simple)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138//+------------------------------------------------------------------+//| Connors_RSI.mq4 |//| Copyright © 2015, Gehtsoft USA LLC |//| http://fxcodebase.com |//+------------------------------------------------------------------+#property copyright "Copyright © 2015, Gehtsoft USA LLC"#property link "http://fxcodebase.com"#property indicator_separate_window#property indicator_buffers 3#property indicator_color1 Yellowextern int RSI_Closes_Length=3;extern int RSI_UpClose_Length=2;extern int Percent_Rank_Length=100;extern double Overbought_Level=70.;extern double Oversold_Level=30.;extern int Price=1; // Applied price// 0 - Close// 1 - Open// 2 - High// 3 - Low// 4 - Median// 5 - Typical// 6 - Weighteddouble CRSI[];double UpDown[], RSI[];int init(){IndicatorShortName("Connors RSI");IndicatorDigits(Digits);SetIndexStyle(0,DRAW_LINE);SetIndexBuffer(0,CRSI);SetIndexStyle(1,DRAW_NONE);SetIndexBuffer(1,UpDown);SetIndexStyle(2,DRAW_NONE);SetIndexBuffer(2,RSI);SetLevelValue(0, Overbought_Level);SetLevelValue(1, Oversold_Level);return(0);}int deinit(){return(0);}double Percent_Rank(int index){int i;int Count=0;for (i=1;i<=Percent_Rank_Length;i++){if (RSI[index]>RSI[index+i]){Count++;}}return (100.*(0.+Count)/(0.+Percent_Rank_Length));}int start(){if(Bars<=3) return(0);int ExtCountedBars=IndicatorCounted();if (ExtCountedBars<0) return(-1);int limit=Bars-2;if(ExtCountedBars>2) limit=Bars-ExtCountedBars-1;int pos;double Pr0, Pr1;pos=limit;while(pos>=0){Pr0=iMA(NULL, 0, 1, 0, MODE_SMA, Price, pos);Pr1=iMA(NULL, 0, 1, 0, MODE_SMA, Price, pos+1);if (Pr0>Pr1){if (UpDown[pos+1]>0.){UpDown[pos]=UpDown[pos+1]+1.;}else{UpDown[pos]=1.;}}else{if (Pr0<Pr1){if (UpDown[pos+1]<0.){UpDown[pos]=UpDown[pos+1]-1.;}else{UpDown[pos]=-1.;}}else{UpDown[pos]=0.;}}pos--;}pos=limit;while(pos>=0){RSI[pos]=iRSI(NULL, 0, 1, Price, pos);pos--;}double RSI1, RSI2, RSI3;pos=limit;while(pos>=0){RSI1=iRSI(NULL, 0, RSI_Closes_Length, Price, pos);RSI2=iRSIOnArray(UpDown, 0, RSI_UpClose_Length, pos);RSI3=Percent_Rank(pos);CRSI[pos]=(RSI1+RSI2+RSI3)/3.;pos--;}return(0);}01/02/2018 at 9:12 PM #5707601/03/2018 at 10:37 AM #57090Bonjour, j’ai ce code indicateur Rsi Connors…
1234567891011121314REM RSI CONNORSp=14alza = MAX(0, CLOSE - CLOSE[1])baja = MAX(0, CLOSE[1] - CLOSE)sumalza=summation[p](alza)sumbaja=summation[p](baja)RS=sumalza/sumbajamioRSI = 100 - 100 / (1 + RS)RETURN mioRSI AS "RSI CONNORS", 70 as "70", 30 as "30",50 as "50"1 user thanked author for this post.
01/03/2018 at 11:23 PM #5720507/17/2018 at 9:26 PM #7618806/22/2022 at 6:58 PM #195887Salut tout le monde, J’ai essayé de travailler sur cet indicateur, en fusionnant quelques codes et en suivant les détails de construction dans l’article de Connor. Le voici.
Connors RSI v.1 by Peppe Wolf1234567891011121314151617181920212223242526272829303132333435363738//Connors RSI v.1 by Peppe Wolf//UpDown Streak Valuedifferenza = (close-close[1])UpStreak = 0DownStreak=0FOR i = 1 to qIF differenza>0 THENUpStreak = UpStreak + 1endifif differenza<0thenDownStreak=DownStreak+1endifsommarialzi=summation[q](UpStreak)sommaribassi=summation[q](DownStreak)NEXTRS=sommarialzi/sommaribassiStreakRSI=100 - 100 / (1 + RS)//PercentileRankonedayreturn = (close-close[1])/close[1]*100rnkCount = 0count = 0FOR i = 1 to r-1count = count + 1IF onedayreturn[i] < onedayreturn THENrnkCount = rnkCount + 1endifNEXTPercentileRank = (rnkCount/count)*100CRSI=(RSI[p](close)+StreakRSI+PercentileRank)/3RETURN CRSI AS "Connors RSI", 50 as "50", 100 as "100", 0 as "0", 70 as "70", 30 as "30"//return StreakRSI//return PercentileRank<del></del>Je pense que le code est correct, mais peut-être que quelque chose n’est pas parfait à 100%. Lorsque l’on considère la page indiquée par Roberto et le graphique de Google / Alphabet, certaines différences apparaissent dans les valeurs des indicateurs. Vous devez ajouter dans le code la variable pour p, q et r. Ou modifiez les valeurs dans le code (3,2,100 respectivement, comme dans la version originale).
Ciao
Giuseppe
06/23/2022 at 11:12 AM #195939Publiez uniquement dans la langue du forum dans laquelle vous publiez. Par exemple, l’anglais uniquement dans les forums anglophones et le français uniquement dans les forums francophones.
Merci 🙂
-
AuthorPosts
Find exclusive trading pro-tools on