Aide au codage - page 409

 

Bonjour. Est-il possible que quelqu'un puisse coder cet indicateur afin que je puisse le joindre dans une sous-fenêtre.... ? Merci beaucoup.

Dossiers :
5days.mq4  4 kb
 

Bonjour,

J'ai quelques boutons sur mon graphique et j'ai créé un rectangle derrière ces boutons.

Maintenant, chaque fois que je veux cliquer sur un bouton, je n'atteins que le rectangle.

Comment puis-je faire cela ?

OBJPROP_SELECTABLE = false

ou OBJPROP_BACK = true,

ne m'aident pas.

 

Mladen, pourquoi tous les indicateurs déclarent-ils :

extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;

parce que la bougie donne un signal d'ouverture, de début. J'ai raison ou j'ai tort ?

 
popej30:
Mladen, pourquoi tous les indicateurs déclarent-ils :
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
parce que la bougie donne le signal open, début. J'ai raison ou j'ai tort ?
Vous avez un choix de 7 prix dans metatrader :

ouvrir

fermer

haut

bas

médiane - (haut+bas)/2

typique - (haut+bas+fermeture)/3

pondéré - (haut+bas+fermeture+fermeture)/4

Close est la clôture habituelle pour le prix (c'est-à-dire le prix que vous voyez normalement sur vos graphiques puisque l'offre est parfois différente de la clôture), Utiliser le prix ouvert dans l'indicateur définit la valeur en utilisant le prix ouvert de la barre et ignore ensuite tout changement actuel (barre ouverte).

PS : l'option est là pour vous permettre d'utiliser le prix que vous souhaitez. La valeur par défaut utilisant le prix de clôture pour le calcul de est est largement acceptée comme valeur par défaut dans presque tous les indicateurs (pas seulement Metatrader). Si vous n'aimez pas le prix de clôture, utilisez le prix ouvert, mais il n'y a pas de règle qui dise que l'utilisation du prix ouvert pour la barre actuelle est meilleure (bien au contraire - pour les raisons expliquées ci-dessus).

 
popej30:
Mladen, pourquoi déclarez-vous tous les indicateurs ?
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
parce que la bougie donne le signal ouverture, début. J'ai raison ou j'ai tort ?

La plupart des indicateurs habituels utilisent le prix de clôture, sauf le CCI qui utilise le prix courant. Je crois que c'est parce qu'il montre le prix actuel d'une meilleure façon que le prix ouvert. Si vous définissez un indicateur sur le prix ouvert, il ne recalculera pas la bougie actuelle comme il le fait avec le prix de clôture, mais il ne montrera pas non plus où se trouve le prix actuel. De même, si vous utilisez un indicateur sur le prix de clôture et que vous entrez sur la bougie suivante lorsqu'il donne un signal, c'est tout à fait la même chose que si vous utilisez le prix ouvert et que vous entrez sur la bougie actuelle...

Edit : Je viens de voir que Mladen a répondu, je pensais que c'était le week-end et que personne n'était là, alors j'ai voulu aider . Je laisse quand même ma réponse. Salutations.

 

Je pense que si l'indicateur est suivi par le prix, il se repeindra toujours.

 
popej30:
Je pense que si l'indicateur suit le prix, il se repeindra toujours.

Vous confondez repeindre et calculer les changements de prix des barres ouvertes actuelles.

Une fois de plus : repeindre/recalculer c'est quand les barres fermées sont modifiées (et repeindre est une erreur de codage). Rien à voir avec le changement de la barre ouverte pour refléter l'état actuel du prix.

 

Je constate qu'il n'est pas possible de dessiner un rectangle derrière un bouton et de définir que le fait de cliquer sur le bouton est l'événement et non le rectangle...

Mais j'ai une autre question :

Comment puis-je dessiner une ligne horizontale avec une longueur définie ? J'ai essayé avec OBJ_TREND, mais un côté de la ligne est infini ou nul. Je ne peux donc pas dessiner une ligne horizontale de Bid-10 à Bid+10.

Avez-vous une solution ?

 

je suis un codeur débutant. comment sélectionner uniquement le symbole de la fenêtre courante par la fonction orderselect?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ; comment modifier cette phrase ?

Merci beaucoup.

 
leowang:
je suis un codeur débutant. comment sélectionner uniquement le symbole de la fenêtre actuelle par la fonction ordererselect ?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ; comment modifier cette phrase ?

Merci beaucoup.

Vous ne pouvez pas modifier la sélection des commandes. Mais vous pouvez filtrer les ordres traités. Ajoutez un "if" juste après le OrderSelect() et tout le traitement devrait se faire après la ligne suivante :

if (OrderSymbol()!=Symbol()) continue ;

Raison: