DIVERGENCE DYNAMIC ZONE RSI
Forums › ProRealTime forum Français › Support ProBuilder › DIVERGENCE DYNAMIC ZONE RSI
- This topic has 10 replies, 3 voices, and was last updated 4 years ago by bona25.
Tagged: divergences, dynamiczonersi, RSI
-
-
04/05/2020 at 11:52 AM #12470104/06/2020 at 9:22 AM #124774
Sur l’image que tu as partagé, tu décris une stratégie de trading automatique, n’est ce pas ? Il faudrait tout d’abord arriver à trouver ces fameuses divergences que tu pointes. Hors comment les trouver ? Tu indiques des points bas sur le prix qui n’en sont pas. En général on utilise des pics et des creux pour bien marquer les points hauts et bas et les comparer aux données de l’oscillateur (fractals, zigzag, canaux haut/bas, ..).
04/06/2020 at 10:12 AM #124783Bonjour Nicolas,
Pour répondre à tes questions:
– Oui effectivement au final une stratégie. Mais j’aimerai aussi avoir un indicateur comme celui que tu as fait sur le RSI classique (PRC_AnotherRSIdivergences).
– Pour trouver les divergences je m’appuie sur le RSI classique. A savoir 70 correspond à Upband et 30 à DownBand.
Ps: autre exemple capture d’écran.
Merci à toi.
04/06/2020 at 1:27 PM #124860Tu trouveras ci-dessous l’indicateur ‘Another RSI divergences’ utilisant le DynamicZoneRSI en lieu et place du RSI traditionnel (ce sont uniquement les zones de sur-achat et de sur-vente qui changent, celles-ci sont dynamiques).
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071//PRC_AnotherRSIdivergences | indicator//DynamicZoneRSI version//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- settingsRSIp=14 //RSI periodminimalBars=5 //minimal count of bars where RSI is ob or os// --- end of settingsirsi = rsi[RSIp]obLevel = average[20](rsi[rsip])+std[20](rsi[rsip])*0.8osLevel = average[20](rsi[rsip])-std[20](rsi[rsip])*0.8ob = irsi>obLevelos = irsi<osLevelif ob thenif not ob[1] thenmaxrsi = 0maxprice = 0firstobbar = barindexendifmaxrsi=max(maxrsi,irsi)maxprice=max(maxprice,high)if maxrsi<>maxrsi[1] thenmaxrsibar=barindexendifendifif os thenif not os[1] thenminrsi = 100minprice = close*100firstosbar = barindexendifminrsi=min(minrsi,irsi)minprice=min(minprice,low)if minrsi<>minrsi[1] thenminrsibar=barindexendifendifdivsell=0if irsi crosses under obLevel then//verif divergencediv = maxprice>oldmaxprice and maxrsi<oldmaxrsi and (barindex-firstobbar)>=minimalBarsif div thendrawsegment(oldmaxrsibar,oldmaxrsi,maxrsibar,maxrsi) coloured(200,0,0)drawarrowdown(maxrsibar,maxrsi) coloured(200,0,0)divsell=osLevelendifoldmaxrsi = maxrsioldmaxprice = maxpriceoldmaxrsibar = maxrsibarendifdivbuy=0if irsi crosses over osLevel then//verif divergencediv = minprice<oldminprice and minrsi>oldminrsi and (barindex-firstosbar)>=minimalBarsif div thendrawsegment(oldminrsibar,oldminrsi,minrsibar,minrsi) coloured(0,200,0)drawarrowup(minrsibar,minrsi) coloured(0,200,0)divbuy=osLevelendifoldminrsi = minrsioldminprice = minpriceoldminrsibar = minrsibarendifreturn irsi style(line,2) as "RSI",obLevel coloured(168,168,168) style(dottedline,1) as "overbought level", osLevel coloured(168,168,168) style(dottedline,1) as "oversold level", divsell coloured(200,0,0) style(histogram) as "sell divergence", divbuy coloured(0,200,0) style(histogram) as "buy divergence"04/06/2020 at 2:05 PM #124871Une dernière chose Nicolas, peux tu créer s’il te plait un screener avec la stratégie qui correspond à l’indicateur, en ajoutant dans le code de programmation les horaires modifiable ainsi qu’un objectif et trailing stop modifiable aussi.
C’est super ! merci à toi.
04/07/2020 at 8:04 AM #124959Bonjour Nicolas,
J’ai observé des anomalies sur l’indicateur, ci-joint capture d’écran.
Pourrai tu s’il te plait me faire un screener avec une stratégie qui correspond à l’indicateur, en ajoutant dans le code de programmation des horaires modifiable ainsi qu’un objectif et trailing stop modifiable aussi.
Par avance je te remercie.
04/08/2020 at 9:25 AM #12517004/08/2020 at 10:37 AM #125184Il n’y a pas de bugs sur ces exemples, les critères de l’indicateur que tu m’as demandé d’adapter ne sont pas en phase avec ces “divergences” que tu observes.
Il faut aussi adapter le paramètre “minimalBars” si besoin. Si tu ne comprends pas comment cet indicateur fonctionne, voir le sujet dont il découle : Création indicateur Divergence RSI particulier
04/08/2020 at 12:07 PM #125206Le “minimalBars” et bien réglé sur 1 .
Je ne comprend pas pourquoi les divergences indiqué sur la capture d’écran ne sont pas prises en compte.
P
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970//DynamicZoneRSI version//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- settingsRSIp=14 //RSI periodminimalBars=1 //minimal count of bars where RSI is ob or os// --- end of settingsirsi = rsi[RSIp]obLevel = average[20](rsi[rsip])+std[20](rsi[rsip])*0.8osLevel = average[20](rsi[rsip])-std[20](rsi[rsip])*0.8ob = irsi>obLevelos = irsi<osLevelif ob thenif not ob[1] thenmaxrsi = 0maxprice = 0firstobbar = barindexendifmaxrsi=max(maxrsi,irsi)maxprice=max(maxprice,high)if maxrsi<>maxrsi[1] thenmaxrsibar=barindexendifendifif os thenif not os[1] thenminrsi = 100minprice = close*100firstosbar = barindexendifminrsi=min(minrsi,irsi)minprice=min(minprice,low)if minrsi<>minrsi[1] thenminrsibar=barindexendifendifdivsell=0if irsi crosses under obLevel then//verif divergencediv = maxprice>oldmaxprice and maxrsi<oldmaxrsi and (barindex-firstobbar)>=minimalBarsif div thendrawsegment(oldmaxrsibar,oldmaxrsi,maxrsibar,maxrsi) coloured(200,0,0)drawarrowdown(maxrsibar,maxrsi) coloured(200,0,0)divsell=osLevelendifoldmaxrsi = maxrsioldmaxprice = maxpriceoldmaxrsibar = maxrsibarendifdivbuy=0if irsi crosses over osLevel then//verif divergencediv = minprice<oldminprice and minrsi>oldminrsi and (barindex-firstosbar)>=minimalBarsif div thendrawsegment(oldminrsibar,oldminrsi,minrsibar,minrsi) coloured(0,200,0)drawarrowup(minrsibar,minrsi) coloured(0,200,0)divbuy=osLevelendifoldminrsi = minrsioldminprice = minpriceoldminrsibar = minrsibarendifreturn irsi style(line,2) as "RSI",obLevel coloured(168,168,168) style(dottedline,1) as "overbought level", osLevel coloured(168,168,168) style(dottedline,1) as "oversold level", divsell coloured(200,0,0) style(histogram) as "sell divergence", divbuy coloured(0,200,0) style(histogram) as "buy divergence"eux tu s’il te plait m’ajouter en plus le code réinvestir les gains a chaque position gagnante merci à toi.
04/08/2020 at 12:10 PM #12520704/08/2020 at 12:25 PM #12521212345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiéenoEntryBeforeTime = 153000timeEnterBefore = time >= noEntryBeforeTime// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 220000timeEnterAfter = time < noEntryAfterTime// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Conditions pour ouvrir une position acheteuseignored, ignored, ignored, ignored, indicator1 = CALL DynamicZoneRSI(close)c1 = (indicator1 > 0)indicator2 = CALL "simplified Supertrend w/o ATR"[0.005]c2 = (indicator2 > 0)IF (c1 AND c2) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour fermer une position acheteuseignored, ignored, ignored, indicator3, ignored = CALL DynamicZoneRSI(close)c3 = (indicator3 > 0)IF c3 THENSELL AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertignored, ignored, ignored, indicator4, ignored = CALL DynamicZoneRSI(close)c4 = (indicator4 > 0)indicator5 = CALL "simplified Supertrend w/o ATR"[0.005]c5 = (indicator5 < 0)IF (c4 AND c5) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKETENDIF// Conditions pour fermer une position en vente à découvertindicator7, ignored, ignored, ignored, indicator6 = CALL DynamicZoneRSI(close)c6 = (indicator6 > indicator7)IF c6 THENEXITSHORT AT MARKETENDIF// Stops et objectifsSET TARGET pPROFIT 15 -
AuthorPosts
Find exclusive trading pro-tools on