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

 
rapid_minus:

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 ?

 
rapid_minus:

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.

Rapid_minus:
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.

 
rapid_minus:
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) ;
Nous devons après chaque Sleep(10000) ; RefreshRates() ; L'offre sera mise à jour et le pain d'épice sera à nous.
 
AlexeyVik:

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 ?

 
Igemon:

Merci beaucoup.

Pourquoi (int) est-il placé devant l'expression ?

Lisezça, c'est très utile.
 
Merci à l'ARS ! Comme toujours sur ce fil, l'aide vient du mauvais côté des voies. La plupart des "gourous" locaux n'aident pas les nouveaux venus, mais se contentent de s'admirer eux-mêmes, bien que sur d'autres branches ils soient parfois eux-mêmes dans des affaires simples. C'est pourquoi ils sont aussi susceptibles que les étudiants de première année. Merci également à artmedia70 pour le lien. Ça m'a fait rire. Et c'est beau, un petit visage sur le tabloïd.
 
Actuellement, l'indicateur enregistre le graphique en ticks dans le graphique hors ligne et ensuite l'ouverture du graphique est manuelle.
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.
 
Igemon:       Pourquoi (int) est-il placé devant l'expression ?
Essayez-le avec et essayez-le sans. Un expert en la matière a dit : Expérience = critère de vérité
 
Bonjour à tous... Pouvez-vous me dire s'il existe une fonction mql4 qui remplit la condition suivante : si un ordre s'ouvre, disons d'achat sur le signal de l'indicateur... Ensuite, s'il y a un signal de retournement, l'achat est fermé et la vente est ouverte ... etc.... Ou comment l'enregistrer dans votre conseiller expert... Merci d'avance
 
bonjour ! pouvez-vous s'il vous plaît conseiller une personne analphabète comment exprimer la bougie en pourcentage ?
Raison: