Bonjour à tous,
je débute en programmation et je ne comprends pas pourquoi il m’indique une erreur sur mon avant-dernière ligne de code .
merci à vous.
carlito.
Bonsoir,
drawhline ne veut qu’un seul argument entre parenthèses, pas 3, ce qui génère l’erreur, et la couleur doit passer par le mot-clé optionnel coloured, cf page de l’instruction:
DRAWHLINE
attention aussi que des termes réservés tels que “hour” et “minute” sont l’heure et la minute de fin de bougie, donc pour capturer la bougie du début de l’opr en évitant un bug qui ne sera pas signalé par l’éditeur (car erreur de logique de prendre “hour=starthour and minute=startminute” dans l’initialisation sans pour autant être une erreur de syntaxe donc pas repérable par l’éditeur), il vaudra mieux utiliser “openhour” et “openminute” (ou “opentime” pour ceux qui préfèreraient un format hhmmss): “if openhour=starthour and openminute=startminute then”
Merci beaucoup.
je vais regarder tout ça.
bonne soirée à vous.
j’ai modifié mais il n’en veut toujours pas…
merci.
Le triangle d’avertissement indique que l’éditeur n’est pas satisfait de la ou des lignes de code adjacentes.
‘DEFPARAM’ est un mot-clé utilisé pour définir certaines variables globales en dehors de votre code.
Dans le guide proBuilder, vous n’avez pas besoin de définir votre variable.
En attribuant une valeur à une variable, il la définit également.
La suppression du ‘DEFPARAM’ des lignes 2,3,4,5 et de la ‘var’ de 8,9 devrait supprimer les erreurs.
merci bien,
en effet, après suppression il a exécuté le code mais des dizaines de lignes sont apparues et non uniquement celles de l’OPR
En effet, le code est exécuté pour chaque barre, par conséquent, des lignes apparaîtront pour chaque barre à moins que vous ne mettiez une condition qui la limite. Si vous souhaitez qu'il dessine uniquement sur la dernière barre chargée, il vous suffit de saisir une ligne au début du code :
defparam drawonlastbaronly=true
Merci, mais je souhaiterais qu’il borne uniquement l’OPR, c’est dire le plus haut et le plus bas de la bougie (avec les mèches) en 15 minutes à l’ouverture des marchés : 9h / 9h15.
Les lignes multiples sont dessinées parce que le code s’exécute sur chaque barre.
Si la dernière valeur ne doit être dessinée qu’à l’extérieur, c’est là que ‘drawonlastbaronly’ peut être utilisé.
Il est préférable d’utiliser openhour plutôt que hour. Openhour fait référence à une barre de données. Le programme ne s’exécute pas en cas de changement de période.
Lorsque openhour change et correspond à startHour, les OPR sont définis, s’ils sont toujours dans la fenêtre de temps, ils sont mis à jour.
DEFPARAM drawonlastbaronly = true
StartHour = 9
StartMinute = 0
EndHour = 9
EndMinute = 15
if openhour <> openhour[1] and openhour = startHour then
OPRHigh = high
OPRLow = low
endif
if openhour = StartHour and openminute < endMinute then
if high > OPRHigh then
OPRHigh = high
endif
if low < OPRLow then
OPRLow = low
endif
endif
DrawHLine (OPRHigh) coloured(0,255,0)
DrawHLine (OPRLow) coloured(255,0,0)
return close
Comment est-il possible sur le 1h par exemple qu’il ne respecte pas L’horaire défini c’est à dire 9h – 9h15 ?
quand je veut mettre mon indicateur sur une unité de temps plus longue il me borne sur la bougie complète et non sur la plage paramétrée ?
merci
de plus quand je bascule d’un espace de travail à un autre l’indicateur disparait, je suis obligé de le resélectionner
merci pour votre aide
Le code s’exécute sur chaque barre, sur un graphique horaire, le code s’exécute à 9h00, puis à 10h00. La résolution n’est pas assez bonne pour capter 9h15 sur ce laps de temps.
Si vous dessinez un objet linéaire horizontal sur des lignes hautes et basses et que vous définissez leurs paramètres de configuration sur « Afficher dans une période supérieure », ces lignes apparaîtront sur des périodes plus longues.
Le code s’exécute dans le graphique auquel il est ajouté, en changeant l’espace de travail a des graphiques différents. Les objets dessinés apparaîtront sur le même instrument entre les espaces de travail, s’ils sont sur la même « étude de carte ».
En effet quand je dessine moi-même une droite horizontale je peux la configurer sur toutes les unités de temps, mais concernant mes lignes d’OPR tracées par le programme impossible de paramétrer.