Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 8
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
De mon point de vue, je pense que Close[] peut être passé dans la boucle de Bars-1 à 0, et vous pouvez rassembler ce tableau dans dll et travailler avec lui là. Je ne l'ai pas encore essayé, mais c'est pour bientôt.
Vous n'avez pas besoin de passer le tableau lui-même. Il suffit de lui passer un pointeur et sa taille.
https://docs.mql4.com/ru/array/ArrayCopySeries
https://docs.mql4.com/ru/array/ArrayCopyRates
Les gars, s'il vous plaît, donnez-moi une condition simple "si leprix actuel> le prix d'ouverture de la barre, alors exécuter l'action". Je n'ai pas encore travaillé avec des barres. Et mon cerveau ne peut pas aller jusqu'à 4:49
Les gars, s'il vous plaît, donnez-moi une condition simple "si le prix actuel > le prix de la barre ouverte, alors exécuter l'action". Je n'ai pas encore travaillé avec des barres. Et mon cerveau ne peut pas aller jusqu'à 4:49
Salutations !
Je ne sais pas où demander mieux, mais j'ai décidé de ne pas créer un nouveau sujet après tout. J'ai essayé de trouver un conseiller expert dans CodeBase et il semble y en avoir suffisamment, mais comme je ne suis pas un expert en mql, je me suis rendu compte que je ne serai pas en mesure d'allouer les fonctions dont j'ai besoin. Savez-vous s'il existe un simple EA qui garderait la trace des ordres déjà ouverts (et des ordres nouvellement ouverts) et si l'un d'entre eux se ferme (par stop, tout d'abord), alors un nouvel ordre en attente est créé avec les paramètres d'un ordre fermé (prix, prise, stop) ?
Et une dernière question. Nous avons l'indicateur i-SignalOfTrade. Comme les terminaux mobiles ne fournissent pas de notifications sonores des événements, cet indicateur peut être très utile. Mais il possède des fonctions supplémentaires qui ne peuvent pas être désactivées si vous tradez par vous-même - il vous informe d'événements tels que la création et la modification d'ordres en attente, etc. C'est-à-dire la notification d'actions dont vous êtes déjà au courant. Je vous serais reconnaissant si vous pouviez m'aider à les désactiver (ou peut-être existe-t-il un autre indicateur similaire), j'ai seulement besoin de laisser la notification du déclenchement de l'ordre en attente, du déclenchement du take et du stop.
Bonjour à tous, .... comment puis-je abréger l'expression suivante : if(a>b && a>c && a>d)
Vous pourriez écrire if((b-a)*(c-a)*(d-a)>0), mais pas nécessairement plus rapidement. Le ET logique est une multiplication binaire, c'est juste une autre notation de la même expression, la seule différence est la taille des types de variables. a>b est une variable booléenne, 4 octets, tandis que b-a, s'ils sont doubles, alors la différence sera double (8 octets), et cette multiplication est au moins 2 fois plus longue.
Vous n'avez pas besoin de passer le tableau lui-même. Il suffit de lui passer un pointeur et sa taille.
Un conseil inestimable.
a>b est une variable booléenne, 4 octets
Vous pouvez écrire if((b-a)*(c-a)*(d-a)>0), mais pas nécessairement plus rapidement. Le ET logique est une multiplication binaire, c'est juste une autre notation de la même expression, la seule différence est la taille des types de variables. a>b est une variable booléenne, 4 octets, et b-a, s'ils sont doubles, alors la différence sera double (8 octets), et cette multiplication est au moins 2 fois plus longue.
Un conseil inestimable.
Vous pouvez écrire if((b-a)*(c-a)*(d-a)>0), mais il n'est pas sûr que cela fonctionne plus rapidement. Le ET logique est une multiplication binaire, c'est juste une autre notation de la même expression, la seule différence est la taille des types de variables. a>b est une variable booléenne, 4 octets, et b-a, s'ils sont doubles, alors la différence sera double (8 octets), et cette multiplication est au moins 2 fois plus longue.
Un conseil inestimable.
Merci pour l'astuce .... existe-t-il un autre moyen de calculer la plus petite et la plus grande valeur à partir de a,b,c ?
MathMax(MathMax(a,b),c) et vice versa MathMin. Si quatre valeurs, alors int max = MathMax(MathMax(x1, x2), MathMax(x3, x4)). Si les valeurs sont une cargaison, formez également un tableau via ArrayMaximum.
MathMax(MathMax(a,b),c) et vice versa MathMin. Si quatre valeurs, alors int max = MathMax(MathMax(x1, x2), MathMax(x3, x4)). Si vous avez besoin de former un tableau à travers ArrayMaximum aussi.
.
vous devrez utiliser ArrayMaximum, il y a des dizaines de valeurs ....a ArrayMaximum sera plus rapide que ceci - a>b && a>c && a>d
merci pour le conseil .... y a-t-il un autre moyen de calculer la plus petite et la plus grande valeur de a,b,c ?
D'abord, dites-moi pourquoi vous en avez besoin. Vous devez en connaître la raison. Est-ce juste pour le plaisir et l'intérêt, ou y a-t-il un but derrière tout cela ?