Aide au codage - page 562

 

Привет ! Il n'y a aucune raison de ne pas le faire... Il n'y a pas d'autre solution.

Dossiers :
 
CaptureBeta:
Bonjour, vérifiez si le fichier joint fonctionne bien pour vous. J'ai modifié le code de l'indicateur et je l'ai vérifié dans la plateforme de trading de mon courtier (Alpari). Il ne montre aucune erreur après la compilation. J'ai changé le nom de l'indicateur (en ajoutant un mot 'nouveau' entre parenthèses) pour éviter les confusions.

Bonjour,

tout d'abord merci pour votre aide....

Je ne sais pas quel paramètre je dois mettre dans la fenêtre de l'indicateur pour voir le pentagone.

Je ne sais pas quel paramètre je dois mettre dans la fenêtre de l'indicateur pour voir le pentagone... je ne vois que des lignes de tendance.....

Carbone

 
mladen:

Big Be

Je le consulterai pour voir ce qui se passe sur mon terminal.

mladen,

Comment ça se passe ?

C'est vraiment important pour nous. (Moi et ceux qui ont besoin de ma carte thermique).

Big Be

 

Bonjour,

Je suis nouveau avec mql4 et le codage dans son ensemble, alors est-ce que l'un des experts peut m'aider avec les deux dilemmes suivants.

J'ai besoin d'ajouter une flèche et une alerte lorsque le prix franchit une MA par le haut, mais elle doit se repeindre lorsque le prix ne clôture pas sous la MA pour disparaître à nouveau.

Il dessine la flèche et l'alerte pour la bougie 0 lorsqu'elle est franchie, mais l'alerte reste active pendant toute la durée d'ouverture de la barre.

Comment puis-je faire en sorte qu'il n'alerte que lorsque la flèche est dessinée, et non à chaque tick.

J'ai essayé ce qui suit.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; ou if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; .... i = 0 dans la boucle for. Mais l'alerte est maintenue à chaque tick. Puis ma deuxième requête : J'aimerais aussi savoir, comme dans l'exemple ci-dessus, si le prix ferme au-dessus d'une MA et y reste, mais après x barres, ferme à nouveau en dessous pour me donner une alerte. Ce que j'aimerais savoir, c'est comment spécifier les x barres de retour lorsque le prix ferme à nouveau en dessous de la MA. Je veux seulement regarder entre 1 et 4 barres en arrière lorsque le prix était au-dessus de la MA et ensuite lorsque la barre actuelle se ferme en dessous de la MA, cela devrait me donner une alerte. Par où dois-je commencer, que dois-je regarder ? Je pense que la logique est quelque chose comme suit : if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) mais au lieu de cela, comme cette ligne avec le ROUGE, j'ai besoin de pouvoir sélectionner dans l'entrée le nombre de barres en arrière à regarder et cela devrait ajuster cette logique en conséquence. par exemple : if(Close[plage sélectionnée]>MA && Close<A) Toute aide et direction est appréciée.

 
bokFX:
Salut,

Je suis novice avec mql4 et le codage en général, alors est-ce que les experts peuvent m'aider avec les deux dilemmes suivants.

J'ai besoin d'ajouter une flèche et une alerte lorsque le prix franchit une MA par le haut, mais elle doit se repeindre lorsque le prix ne clôture pas sous la MA pour disparaître à nouveau.

Il dessine la flèche et l'alerte pour la bougie 0 lorsqu'elle est franchie, mais l'alerte reste active pendant toute la durée d'ouverture de la barre.

Comment puis-je faire en sorte qu'il n'alerte que lorsque la flèche est dessinée, et non à chaque tick.

J'ai essayé ce qui suit.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; ou if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; .... i = 0 dans la boucle for Mais continue d'alerter à chaque tick. Puis ma deuxième requête : J'aimerais aussi savoir, comme dans l'exemple ci-dessus, si le prix ferme au-dessus d'une MA et y reste, mais après x barres, ferme à nouveau en dessous pour me donner une alerte. Ce que j'aimerais savoir, c'est comment spécifier les x barres de retour lorsque le prix ferme à nouveau en dessous de la MA. Je veux seulement regarder entre 1 et 4 barres en arrière lorsque le prix était au-dessus de la MA et ensuite lorsque la barre actuelle se ferme en dessous de la MA, cela devrait me donner une alerte. Par où dois-je commencer, que dois-je regarder ? Je pense que la logique est quelque chose comme suit : if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) mais au lieu de cela, comme cette ligne avec le ROUGE, j'ai besoin de pouvoir sélectionner dans l'entrée le nombre de barres en arrière à regarder et cela devrait ajuster cette logique en conséquence. par exemple : if(Close[plage sélectionnée]>MA && Close<A) Toute aide et direction est appréciée.

Utilisez quelque chose comme ceci :

static datetime lastAlertedAt = 0 ;

si (Time[0]!=lastAlertedAt)

{

lastAlertedAt = Time[0] ;

...

le reste du code d'alerte

}

 

15-11-2015, 22:01

Il n'y a rien à faire ! Il n'y a aucune raison de ne pas le faire, il n'y en a pas non plus. Il n'y a aucune raison de ne pas le faire. Вложения

 

Posté à l'origine par mladen View Post

Big Be

Je vais le vérifier pour voir ce qui se passe sur mon terminal.

Big Be:

mladen,

Comment ça se passe ?

C'est vraiment important pour nous. (Moi et ceux qui ont besoin de mon HeatMap.)

Big Be

Je ne pouvais pas le laisser seul. Avec beaucoup d'instructions Comment, une par une, et en jouant au détective pendant des heures, j'ai trouvé la source du problème.

Il ne semble pas y avoir de problème avec les tableaux multidimensionnels. J'avais réglé la dimension du tableau sur le nombre de paires que j'utilisais. Il devait correspondre au nombre de paires et d'articles dont disposait le courtier . La première configuration que j'ai utilisée (serveur Metaquotes) ne disposait que de 26 paires. Cela a donc fonctionné. Mais d'autres en ont plus. L'un d'entre eux en a 285. Le tableau doit s'adapter à cela.

NOUVEAU PROBLÈME : quel est le format correct pour redimensionner un tableau multidimensionnel ? Je sais que vous ne pouvez redimensionner que la première dimension. Mais lorsque j'utilise cette fonction, le programme s'arrête, que je la mette dans start() ou init(), même si ArraySize donne la taille correcte après le redimensionnement :

ArrayResize(AlerteFondII, taille) ;

ou

ArrayResize(AlertsFoundII, 285) ;

Big Be

 

J'ai essayé quelque chose, sur une intuition. Si j'initialise le tableau sans première valeur comme ceci : bool AlertsFoundII[][4][4] ; et que je redimensionne le tableau plus tard en utilisant la valeur calculée (variable), cela fonctionne bien.

Big Be

 
Big Be:
Posté à l'origine par mladen View Post

Big Be

Je vais le vérifier pour voir ce qui se passe sur mon terminal.

Je ne pouvais pas laisser faire. À l'aide de nombreux commentaires, un par un, et en jouant au détective pendant des heures, j'ai trouvé la source du problème.

Il ne semble pas y avoir de problème avec les tableaux multidimensionnels. J'avais réglé la dimension du tableau sur le nombre de paires que j'utilisais. Il devait correspondre au nombre de paires et d'articles dont disposait le courtier . La première configuration que j'ai utilisée (serveur Metaquotes) ne disposait que de 26 paires. Cela a donc fonctionné. Mais d'autres en ont plus. L'un d'entre eux en a 285. Le tableau doit s'adapter à cela.

NOUVEAU PROBLÈME : quel est le format correct pour redimensionner un tableau multidimensionnel ? Je sais que vous ne pouvez redimensionner que la première dimension. Mais lorsque j'utilise cette méthode, le programme s'arrête, que je la mette dans start() ou init(), même si ArraySize donne la taille correcte après le redimensionnement :

ArrayResize(AlerteFondII, taille) ;

ou

ArrayResize(AlertsFoundII, 285) ;

Big Be

Cela doit fonctionner dans les deux cas (j'utilise des tableaux à 2 dimensions qui sont redimensionnés dynamiquement en permanence, et cela fonctionne bien).

 
bokFX:
Bonjour,

Je suis novice avec mql4 et le codage en général, alors est-ce que les experts peuvent m'aider avec les deux dilemmes suivants.

J'ai besoin d'ajouter une flèche et une alerte lorsque le prix franchit une MA par le haut, mais elle doit se repeindre lorsque le prix ne clôture pas sous la MA pour disparaître à nouveau.

Il dessine la flèche et l'alerte pour la bougie 0 lorsqu'elle est franchie, mais l'alerte reste active pendant toute la durée d'ouverture de la barre.

Comment puis-je faire en sorte qu'il n'alerte que lorsque la flèche est dessinée, et non à chaque tick.

J'ai essayé ce qui suit.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; ou if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert") ; .... i = 0 dans la boucle for Mais continue d'alerter à chaque tick. Puis ma deuxième requête : J'aimerais aussi savoir, comme dans l'exemple ci-dessus, si le prix ferme au-dessus d'une MA et y reste, mais après x barres, ferme à nouveau en dessous pour me donner une alerte. Ce que j'aimerais savoir, c'est comment spécifier les x barres de retour lorsque le prix se ferme à nouveau en dessous de la MA. Je veux seulement regarder entre 1 et 4 barres en arrière lorsque le prix était au-dessus de la MA et ensuite lorsque la barre actuelle se ferme en dessous de la MA, cela devrait me donner une alerte. Par où dois-je commencer, que dois-je regarder ? Je pense que la logique est quelque chose comme suit : if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) mais au lieu de cela, comme cette ligne avec le ROUGE, j'ai besoin de pouvoir sélectionner dans l'entrée le nombre de barres en arrière à regarder et cela devrait ajuster cette logique en conséquence. par exemple : if(Close[plage sélectionnée]>MA && Close<A) Toute aide et direction est appréciée.

Merci pour l'info Mladen, je vais faire un essai avec l'alerte.

J'aimerais aussi savoir, comme dans l'exemple ci-dessus, si le prix ferme au-dessus d'une MA et y reste, mais après x barres, ferme à nouveau en dessous pour me donner une alerte. Ce que j'aimerais savoir, c'est comment spécifier les x barres de retour lorsque le prix s'est refermé en dessous de la MA. Je veux seulement regarder entre 1 et 4 barres en arrière lorsque le prix était au-dessus de la MA et ensuite lorsque la barre actuelle se ferme en dessous de la MA, cela devrait me donner une alerte. Par où dois-je commencer, que dois-je regarder ? Je pense que la logique est quelque chose comme suit : if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) mais au lieu de cela, comme cette ligne avec le ROUGE, j'ai besoin de pouvoir sélectionner dans l'entrée le nombre de barres en arrière à regarder et cela devrait ajuster cette logique en conséquence. par exemple : if(Close[plage sélectionnée]>MA && Close<A) Toute aide et direction est appréciée.

Raison: