Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1052
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
Note
La fonction Sleep() ne peut pas être appelée par des indicateurs personnalisés, car les indicateurs sont exécutés dans le thread de l'interface et ne doivent pas le ralentir. La fonction comporte une vérification intégrée de l'état du drapeau d'arrêt de l'expert toutes les 0,1 seconde. La fonction Sleep() du testeur de stratégie ne provoque aucun retard.
Tout le monde est si intelligent, c'est effrayant. J'ai écrit que le glissement était ignoré dans le testeur (ce qui est clair), mais toutes les positions sont ouvertes tant que je les ai spécifiées. Mais sur la fiche de démonstration ne fonctionne pas, et la position n'est ouverte qu'une seule, et qui se ferme immédiatement. C'est le problème que je ne peux pas résoudre.
Où est votre code ?
Peut-être que cela peut aider ?
Comme tout le monde est intelligent - c'est effrayant. Si vous ne savez pas lire : j'ai écrit que le glissement est ignoré dans le testeur (ce qui est clair), mais les positions sont toutes ouvertes, comme indiqué. Mais sur la fiche de démonstration ne fonctionne pas, et la position n'est ouverte qu'une seule, et qui se ferme immédiatement. Je ne peux pas résoudre ce problème.
Apparemment, ce n'est pas la première fois que vous êtes impoli, c'est pourquoi personne ne répond. Bien que vous ayez déjà reçu une réponse à votre deuxième question.
Mais vous ne pouviez répondre que comme ça.
Il est clair que l'offre a vieilli, mais j'espérais que cette conception permettrait d'ouvrir plusieurs positions sur la barre actuelle avec des prix d'ouverture d'offre différents. Et cela fonctionne bien dans le testeur, mais sur la démo il ouvre une position et la ferme immédiatement. comment l'éviter n'est pas clair.
Qu'est-ce que vous espériez ? Nous avons proposé une solution. Vous devriez le lire attentivement.
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Sleep(10000) ;
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Oui, pour déterminer le nombre de décimales. Ceci est nécessaire pour normaliser la valeur du lot si le lot est défini par une formule et que le résultat peut avoir plus de décimales que celles autorisées. Dans certains cas, vous pouvez vous contenter de mettre un deux, mais vous risquez alors de rencontrer une erreur, il est donc préférable de le définir par programme.
Il existe une autre façon de procéder. Il y a deux façons de résoudre ce problème : la première consiste à convertir le nombre en chaîne de caractères, à définir la longueur de la chaîne, à trouver l'indice du caractère point et la différence entre la longueur de la chaîne et l'indice du caractère point sera évaluée comme partie fractionnaire du nombre. Et sur le forum mql5, vous pouvez trouver plusieurs variantes, certaines plus fines, d'autres plus faciles.
Voici une autre de mes variantes.
Cette fonction détermine le nombre de décimales d'un nombre quelconque.
L'algorithme est outrageusement simple - il suffit de considérer combien de fois le résidu de la division par 1 est supérieur à zéro.
Je n'ai pas dit que ma méthode était meilleure. Chaque programmeur écrit sa propre façon de résoudre le problème.
Un nombre de type double, même s'il n'a pas de chiffres significatifs dans la partie fractionnaire, ressemble à 2,0, ce qui n'est pas tout à fait correct, et pour obtenir un nombre entier normal, il est converti implicitement en type int.
Merci beaucoup.
Mais pourquoi (int) devrait-il être placé avant l'expression ?
Merci beaucoup.
Pourquoi (int) est-il placé devant l'expression ?
Puis-je ouvrir un graphique dans un Expert Advisor à partir de l'option Ouvrir un graphique hors ligne par son nom ? J'ai regardé ChartOpen() mais il ne fonctionne pas par son nom.