Ajouter de la couleur à un indicateur

 

Je voudrais imprimer un carré rouge (petit) sur le graphique lorsque l'image temporelle supérieure suivante est en baisse. Et un carré blanc s'il est en hausse.

Comment dois-je procéder ? Une fois que j'aurai trouvé cette solution, je pourrai ajouter d'autres cadres temporels et des barres différentes.

Mon code jusqu'à présent est le suivant

// Courant 30 min

double open.30.0 =iCustom(NULL,30,"Heiken Ashi",0,2,0) ; //Ouverture précédente

double close.30.0 =iCustom(NULL,30, "Heiken Ashi",0,3,0) ; //Fermeture précédente

bool Up.30.0 = (close.30.0>open.30.0) ;

bool Down.30.0 = (close.30.0<open.30.0) ;

Commentaire ("\n 30 min courant en hausse ou en baisse " + Up.30.0 +" "+ Down.30.0) ;

Mais au lieu que le commentaire ait un "0" ou un "1", je veux qu'il affiche un carré ou un point rouge ou blanc.


Toute aide serait appréciée... Je n'ai rien trouvé en cherchant sur ce site ou sur le Web.

 
mrchuckw:

Je voudrais imprimer un carré rouge (petit) sur le graphique lorsque l'image temporelle supérieure suivante est en baisse. Et un carré blanc s'il est en hausse.

Comment dois-je procéder ? Une fois que j'aurai trouvé cette solution, je pourrai ajouter d'autres cadres temporels et des barres différentes.

Mon code jusqu'à présent est le suivant

// Courant 30 min

double open.30.0 =iCustom(NULL,30, "Heiken Ashi",0,2,0) ; //Ouverture précédente

double close.30.0 =iCustom(NULL,30, "Heiken Ashi",0,3,0) ; //Fermeture précédente

bool Up.30.0 = (close.30.0>open.30.0) ;

bool Down.30.0 = (close.30.0<open.30.0) ;

Commentaire ("\n 30 min courant en hausse ou en baisse " + Up.30.0 +" "+ Down.30.0) ;

Mais au lieu que le commentaire ait un "0" ou un "1", je veux qu'il affiche un carré ou un point rouge ou blanc.


Toute aide serait appréciée... Je n'ai rien trouvé en cherchant sur ce site ou sur le Web.

Bonjour mrchuckw,

Cherchez sur ce site et sur d'autres forums FX les EA qui ont un code ObjectCreate...

Vous utilisez ObjectCreate pour placer des marques de couleur là où vous le souhaitez.

J'espère que cela vous aidera,

Robert


 
Les indicateurs de couleur utilisent deux tampons. Définissez l'un à la valeur et l'autre à la valeur vide. Regardez le code de certains indicateurs dans la base de code
 
Merci Robert !
 

J'utilise le code suivant... pourquoi ne met-il pas un rectangle blanc sur mon graphique ?

ObjectCreate("square",OBJ_RECTANGLE,0,0,0) ;

ObjectSet("square",OBJPROP_XDISTANCE,193) ;

ObjectSet("square",OBJPROP_YDISTANCE,48) ;

ObjectSet("square",OBJPROP_COLOR,White) ;

 

mrchuckw:

J'utilise le code suivant... pourquoi ne met-il pas un rectangle blanc sur mon graphique ?

ObjectCreate("square",OBJ_RECTANGLE,0,0,0) ;

ObjectSet("square",OBJPROP_XDISTANCE,193) ;

ObjectSet("square",OBJPROP_YDISTANCE,48) ;

ObjectSet("square",OBJPROP_COLOR,White) ;

OBJ_RECTANGLE 16 Rectangle. Utilise 2 coordonnées. Une coordonnée est le temps et le prix . . donc . . .

ObjectCreate("square",OBJ_RECTANGLE, 0, datetime time1, double price1, datetime time2, double price2);

ObjectSet("square",OBJPROP_COLOR,White);



Vous devez remplir les valeurs de . . datetime time1, double price1, datetime time2, double price2.

Ou peut-être voulez-vous utiliser un Label, OBJ_LABEL et ensuite utiliser un wingding pour le carré ? https://docs.mql4.com/constants/wingdings

 

Ok... Je pense. Je ne veux pas que ce soit orienté date/heure... Je ne pense pas.

Voici ce que je veux. En bas du graphique, sous la barre actuelle, je veux placer un carré (wingding 110 ?) que je peux remplir de

rouge, si l'image temporelle suivante va vers le bas, ou le remplir de blanc si elle va vers le haut.

Puis, lorsque cette barre se ferme et que la barre suivante commence, je veux que le carré se déplace sous l'ancienne barre et qu'un nouveau carré soit placé sous la nouvelle barre...

Est-ce que cela a un sens ?

Alors, à quoi ressemblerait la ligne ObjectCreate() ? Comment puis-je la placer sur le graphique à l'endroit voulu, ou dois-je utiliser une fenêtre séparée ?

Merci pour votre aide.

 
mrchuckw:

Ok... Je pense. Je ne veux pas que ce soit orienté date/heure... Je ne pense pas.

Voici ce que je veux. En bas du graphique, sous la barre courante, je veux placer un carré (wingding 110 ?) que je peux remplir de

rouge, si l'image temporelle suivante va vers le bas, ou le remplir de blanc si elle va vers le haut.

Puis, lorsque cette barre se ferme et que la barre suivante commence, je veux que le carré se déplace sous l'ancienne barre et qu'un nouveau carré soit placé sous la nouvelle barre...

Est-ce que cela a un sens ?

Alors, à quoi ressemblerait la ligne ObjectCreate() ? Comment puis-je la placer sur le graphique à l'endroit voulu, ou dois-je utiliser une fenêtre séparée ?

Merci pour votre aide.

Ah OK, donc vous voulez un carré sous chaque barre, blanc ou rouge selon l'indicateur... n'utilisez pas d'objets, utilisez des tampons d'indicateurs. ( https://docs.mql4.com/customind )

Créez 2 tampons d'indicateurs, un pour les carrés rouges, un pour les carrés blancs, définissez les tampons pour qu'ils aient des valeurs vides ( SetIndexEmptyValue( int index, double value) ) pour obtenir le carré sous la barre, utilisez la valeur basse de la barre - 10 pips ... c'est en gros ce que WHRoeder voulait dire.

 
Mais si je le place à 10 pips en dessous du prix, ne va-t-il pas sauter ? Je veux que le carré soit au même endroit sur le graphique, quelle que soit l'évolution des barres.
 
mrchuckw:
Mais si je le règle à 10 pips en dessous du prix, ne va-t-il pas sauter dans tous les sens ?
Vous pouvez le mettre dans une fenêtre séparée si vous voulez... ce que j'ai dit était 10 pips en dessous du Low de la barre... pas en dessous du prix actuel. La plupart du code dont vous avez besoin est commun, si vous le faites dans une fenêtre séparée, il est facile de le changer en une position sous la barre après... .
 
OK... laissez-moi jouer avec ça pendant un moment. J'apprécie toute l'aide que vous m'apportez !