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
Exemple de la classe de commerce CTrade. Il est d'abord vérifié pour'SYMBOL_FILLING_FOK', puis pour'SYMBOL_FILLING_IOC'.
La vérification est effectuée à l'aide del'opération "ET par bit".
Opération ET par bit
L'opération ET par bit des représentations binaires x et y. La valeur de l'expression contient 1 (VRAI) dans tous les bits où x et y contiennent tous deux des valeurs non nulles, et 0 (FAUX) dans tous les autres bits.
Exemple :
En savoir plus sur les opérations par bit.
Que devrait donner la fonction pour qu'il y en ait deux en même temps ?
Que devrait donner la fonction pour qu'il y en ait deux en même temps ?
Exemple de contrôles pour deux personnages du serveur MetaQuotes-Demo :
Voir les spécifications (à remplir) pour ces symboles :
et voici une variante plus courante : lorsque tous les remplissages sont disponibles pour un symbole
et la spécification
Il peut aussi être 2, alors la fonction renverra 3. BUT¡¡¡¡¡ Il s'agit d'une situation atypique. Étant donné qu'il n'y a que 3 possibilités, cela pourrait être 1, 2 ou la somme de 1+2. C'est la somme, pas la troisième option. La vérification avec une opération bit à bit ne peut donc répondre qu'à la question suivante : peut-on appliquer telle ou telle politique de remplissage ?
Je ne comprends toujours pas comment une variable peut renvoyer deux membres. Et s'il renvoie un membre comme 3, alors les opérations de type bitwise ne fonctionneront pas. J'ai décidé de choisir simplement le mode EXECUTION_INSTANT et j'aurai toujours une politique FOK .
Pour comprendre cela, vous devez comprendre ce que sont les drapeaux.
Chaque valeur suivante d'un drapeau est la valeur de la précédente multipliée par 2. C'est-à-dire 1, 2, 4, 8, 16, 32......... Donc si la valeur est 33, cela signifie que cette valeur ne contient que 1 et 32. De même, si la valeur est 18, elle ne peut être composée que de 16 et de 2. Et la valeur 3 ne peut être composée que de 1 et 2.
Ainsi, les opérations par bit ne font que vérifier si la valeur vérifiée est présente dans la somme des drapeaux. Si vous vérifiez si un nombre arbitraire est inclus dans 18, vous obtenez faux, sauf pour vérifier les valeurs 2 et 16.
Pour comprendre cela, vous devez comprendre ce que sont les drapeaux.
Chaque valeur suivante d'un drapeau est la valeur de la précédente multipliée par 2. C'est-à-dire 1, 2, 4, 8, 16, 32......... Donc si la valeur est 33, cela signifie que cette valeur ne contient que 1 et 32. De même, si la valeur est 18, elle ne peut être composée que de 16 et de 2. Et la valeur 3 ne peut être composée que de 1 et 2.
Ainsi, les opérations par bit ne font que vérifier si la valeur vérifiée est présente dans la somme des drapeaux. Si vous vérifiez si un nombre arbitraire est inclus dans 18, vous obtiendrez faux, sauf si vous vérifiez les valeurs 2 et 16.
Oui, je comprends comment travailler avec des chiffres binaires.
À partir de ce code, par exemple, la fonction renvoie 3 .
(11&1)==1 ; 11==01 non, c'est faux, ça n'a pas marché.
J'étais en train d'écrire ça et je me suis dit que j'avais peut-être mal compris les opérations.
& cela signifie que je convertis les valeurs décimales en valeurs binaires et que je fais une conjonction par bit.
== vrai lorsque le premier terme est égal au second. Est-ce correct ?