Bonjour,
Grâce à l’instruction GRAPHONPRICE j’affiche mes Stop Loss et mes Take Profit.
Le problème étant que je voudrais les avoir affiché seulement pendant les trades (donc qu’en dehors des trades, le GRAPHONPRICE n’affiche rien).
Voilà le code que j’ai fait :
IF LONGONMARKET THEN
longPlotSL = longSL
longPlotTP = longTP
ELSE
longPlotSL = Undefined
longPlotTP = Undefined
ENDIF
// AFFICHER SL ET TP
GRAPHONPRICE longPlotSL COLOURED(255,82,82) AS "LONG SL"
GRAPHONPRICE longPlotTP COLOURED(65,140,71) AS "LONG TP"
Il se trouve que même quand la valeur est Undefined, le GRAPHONPRICE l’affiche quand même.
Dans les PJ, j’ai marqué en rose ce qui devrait ne pas être affiché.
Avez-vous une idée sur comment faire ça ? Merci !
“undefined” n’est utilisé que pour les indicateurs (hors stratégie) et ne peut être assigné qu’une seule fois à une variable, au lancement du code pour ne rien afficher avant que la variable soit finalement renseignée.
Bref, pour une stratégie, ta façon de faire est correct, mais tu devrais soit mettre la valeur des variables à 0 par exemple ou rendre invisible les lignes avec un alpha à 0 et à 255 quand tu veux qu’elles s’affichent.
Ok je vois !
J’avais déjà testé avec 0 mais le problème reste le même => On voit le trait qui descend jusqu’à 0.
Pour la méthode de la transparence, ça ne fonctionne pas correctement parce que je pense que je redessine par dessus :
IF LONGONMARKET THEN
longPlotSL = longSL
longPlotTP = longTP
ELSE
longPlotSL = 0
longPlotTP = 0
ENDIF
// AFFICHER SL ET TP
IF LONGONMARKET THEN
GRAPHONPRICE longPlotSL COLOURED(255,82,82) AS "LONG SL"
GRAPHONPRICE longPlotTP COLOURED(65,140,71) AS "LONG TP"
ELSE
GRAPHONPRICE longPlotSL COLOURED(255,82,82,0) AS "LONG SL"
GRAPHONPRICE longPlotTP COLOURED(65,140,71,0) AS "LONG TP"
ENDIF
En faisant ça, les Stop Loss et les Take Profit ne sont pas affichés.
Une idée sur la bonne façon de faire ? (Il faudrait que je récupère la valeur des 1ers GRAPHONPRICE pour que dans le ELSE, je réattribue ces valeurs je pense)(plutôt que de redessiner par dessus)
Dans l’exemple que tu donnes, les lignes 4 à 6 sont inutiles, puisque avec sous données dans ces variables, tu rends les lignes transparente. Ainsi tu ne devrais plus voir le fameux trait qui descend.
D’ac merci pour la réponse !
Je ne suis pas sûr d’avoir bien saisi ce que tu as dit mais si je fais ça :
IF LONGONMARKET THEN
longPlotSL = longSL
longPlotTP = longTP
ENDIF
// AFFICHER SL ET TP
IF LONGONMARKET THEN
GRAPHONPRICE longPlotSL COLOURED(255,82,82) AS "LONG SL"
GRAPHONPRICE longPlotTP COLOURED(65,140,71) AS "LONG TP"
ELSE
GRAPHONPRICE longPlotSL COLOURED(255,82,82,0) AS "LONG SL"
GRAPHONPRICE longPlotTP COLOURED(65,140,71,0) AS "LONG TP"
ENDIF
Les lignes sont TOUJOURS transparentes ce qui fait qu’à aucun moment, elles sont affichées sur le graph.
Comme dit précédemment, je pense que les GRAPHONPRICE du ELSE redessinent par dessus les GRAPHONPRICE du IF.
En effet, j’étais pourtant persuadé que cela fonctionnerait 🙄
Dans l’immédiat je ne vois que la solution de la remise à zéro.
Ok ça marche merci pour ta rapidité ! 🙂