[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 204
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
Vous êtes un magicien)) Merci !
Bonsoir à tous. Il y a un indicateur (supérieur dans la figure) qui dessine ses valeurs (+1, 0, -1) sur la barre numéro 0, mais le calcul est effectué par la barre numéro 1. J'ai besoin d'écrire un indicateur qui compterait le nombre de barres dans chaque bloc continu séparé de l'indicateur supérieur +1 et -1 et tout l'historique (la moyenne dans la figure, la hauteur du graphique à barres en unités correspondant au nombre de barres).J'ai fait un indicateur (en bas dans la figure), mais il ne commence à être dessiné qu'au moment de l'installation dans la fenêtre (ligne verticale bleue).Aidez qui peut !
Code
C'est le reste de la division ! Regardez dans les étapes arithmétiques et dans votre imprimante !
Mettez-le et vous ne verrez que les deux résultats en alternance :
Je ne comprends pas la logique. Dans le livre que j'ai lu :
Si vous voulez calculer le reste de la division de la variablea par la variable bet écrire le résultat dans la variable ostatok, l'opérateur d'affectation se présente comme suit :
Ils'avère que dans notre cas, lorsqueMathRand() estdivisé par 2, il devrait y avoir une valeur de x égale à 0 ou 1. Pourquoi devrait-il être 0 ou 1 tout d'un coup ? Par exemple, un numéro aléatoire 9 apparaîtra. 9 % 2 = 4.5. Le reste de est égal à 4.Quelque chose dont je ne comprends pas la logique. Dans le livre que j'ai lu :
Lorsque quelque chose ne colle pas, il suffit de quelques clics pour répondre...
P.S. ostatok = 9 % 2 = 1.
Lorsque quelque chose ne colle pas, il suffit de quelques clics pour répondre...
P.S. ostatok = 9 % 2 = 1.
Eh bien, c'est écrit :
"La division avec un reste(division modulo,trouver le reste de la division,le reste de la division) est uneopérationarithmétique aboutissant à deuxentiers:un quotient incomplet etle reste de la division d'un nombre entier par un autreentier."
9 : 2 = 4,5 Ce sont des nombres doubles.
Si tu enlèves la partie fractionnaire, ça fait 4. Où as-tu trouvé 1 ?
Il s'avère que dans notre cas, lorsqueMathRand() estdivisé par 2, la valeur de x doit être 0 ou 1. Pourquoi devrait-il sortir 0 ou 1 tout d'un coup ? Par exemple, un numéro aléatoire 9 apparaîtra. 9 % 2 = 4.5. Le reste de est égal à 4.Il y a quelque chose dans cette logique que je ne comprends pas. Dans le livre que j'ai lu :
Victor, ne confondez pas int et double ! Doncint x = MathRand() % 2; donne 0 ou 1 ! Il ne peut pas donner 0,1 ou 0,9, ni 1,1 ou 1,9, car les décimales dans int sont arrondies et les moins de 0,5 sont rejetées ! Et le signe % signifie le reste de la division, pas le signe de division. Le signe de division est /.
Je mets votre exemple avec 9 et j'obtiens un seul résultat, 1, car il n'y a pas de hasard :
Vous demandez :
9 : 2 = 4,5 Ce sont des nombres doubles.
Si on enlève la partie fractionnaire, on obtient 4. Où avez-vous trouvé 1 ?
Je réponds : Donc 0,5 est arrondi à 1 !
Ce qui est intéressant, c'est que lorsque j'ai mis un point et zéro (2.0) à 2, le compilateur m'a donné une erreur disant que % ne nécessite qu'un entier !
Ainsi, même si vous mettez un double x, il en sortira toujours un entier int. Merci, Victor, pour vos doutes ! Grâce à eux et à vous, j'ai fait une recherche intéressante, qui élargira mes possibilités de transformations mathématiques ! Je vous dois un verre (virtuel) ! :))
Eh bien, c'est ce que ça dit :
" Ladivision avec un reste(division modulo,trouver le reste de la division,reste de la division) est uneopérationarithmétique qui aboutit à deuxentiers:un quotient incomplet etle reste de la division d'un nombre entier par un autrenombre entier."
9 : 2 = 4,5 Ce sont des nombres doubles.
Si tu enlèves la partie fractionnaire, ça fait 4. Où as-tu trouvé 1 ?
Quel est le nombre entier le plus proche de 9 qui est divisible par 2 sans reste ? Puis soustrayez ce nombre du diviseur (9). Qu'avez-vous obtenu ?
P.S. Si vous avez échoué, vous pouvez imprimer le résultat : Print ("ostatok = ", 9 % 2) ;
laveosa 07.03.2013 21:15
Pouvez-vous me dire comment remplacer Symbol() par "EURUSD" dans Ordersend() ? ou quoi ?
laveosa 07.03.2013 21:15
Bonjour. Pouvez-vous me dire comment remplacer Symbol() par "EURUSD" dans Ordersend(). ou quoi ?
Pouvez-vous me dire comment remplacer Symbol() par "EURUSD" dans Ordersend()? ou quoi ?
ticket=OrderSend("EURUSD",OP_SELL,Lot,op,3,sl,tp,comm,magic,0,Red) ; écrivez-le simplement comme ceci. Dites-moi ce qui ne va pas avec le 4106.