FOR … NEXT
Forums › ProRealTime forum Français › Support ProBuilder › FOR … NEXT
- This topic has 3 replies, 2 voices, and was last updated 1 hour ago by
LaMaille.
-
-
11/03/2025 at 10:17 AM #253214
Bonjour
J’ai du mal à comprendre le fonctionnement de NEXTTous les xPi et yPi ont déjà été définis dans l’algo par:
//—– Peak storage
$xP[PeakCount]= PeakBar
$yP[PeakCount]= PeakVal )
//
……….
//—– Calculations between the first peak and the nth
FOR j = 2 TO PeakCount
xPI = $xP[j]
yPI = $yP[j]
PeakSlope = ROUND((yPI – yP1) / (xPI – xP1),2)
DrawSegment(BarIndex[xPI], yPI, BarIndex[xP1], yP1) Coloured(“Orange”) Style(Line,2)
xP2= $xP[2]
yP2= $yP[2]
NEXT
DrawRay(BarIndex[xP2], yP2, BarIndex[xP1], yP1) Coloured(“Red”) Style(Line,2)et le Rayon s’affiche correctement sur le graph. (Les segments aussi)
Si je code
………
DrawSegment(BarIndex[xPI], yPI, BarIndex[xP1], yP1) Coloured(“Orange”) Style(Line,2)
NEXT
xP2= $xP[2]
yP2= $yP[2]
DrawRay(BarIndex[xP2], yP2, BarIndex[xP1], yP1) Coloured(“Red”) Style(Line,2)J’obtiens le message d’erreur “Paramètres de type entier positif attendu avec BarIndex[xP2]”
Pourquoi xP2 n’est-il plus défini en dehors de la boucle ?Merci d’avance. Cordialement.
11/03/2025 at 12:05 PM #253221Ajoutes : if PeakCount >= 2 then // avant la boucle For … Next
2 users thanked author for this post.
11/03/2025 at 3:34 PM #253243Merci @LaMaille de ta contribution qui soulève la remarque suivante:
Intuitivement j’avais découvert
IF PeakCount > 1 THEN
xP1 = $xP[1]
yP1= $yP[1]
ENDIF
pour initialiser mon point de référence, ça me marchait pas autrement.
Ta solution fonctionne parfaitement, mais mieux, çà marche aussi avec 1 !
Donc après des tests je m’aperçois que pour récupérer n éléments d’un tableau complètement calculé, il est quand nécessaire de tester IF PeakCount > n-1 THEN
Cela me parait étrange.
Qu’en pensez-vous ?11/03/2025 at 5:22 PM #253252e code a besoin de remplir le tableau avant de pouvoir l’exploiter/le lire… Cette condition (if PeakCount >= 2 then) évite de tester/lire des cases du tableau qui ne sont pas encore remplies… Cette condition, c’est comme si tu dis au code : Tant que la case 2 du tableau n’est pas rempli => ne fais rien.
-
AuthorPosts
Find exclusive trading pro-tools on 