[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 398
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
Nous devons normaliser le prix.
Papa ! Merci beaucoup..... et encore une petite question....
Je veux ouvrir un ordre seulement si
1. La distance entre le prix d'ouverture de la bougie N 30 et le maximum de la bougie N 1 est supérieure à 150 p.
2. L'heure d'ouverture d'une bougieN 30 est égale à - N'IMPORTE QUELLE HEURE, N'IMPORTE QUELLE DATE, mais la valeur de MINUTES DOIT ÊTRE de 15 ( c'est-à-dire0:15;1:15 ;....23:15)
si ((High[1]-Open[30])> 1500*Point) && ( ??????????????????)
//ouverture de la commande
Je voulais créer la deuxième condition en utilisant la fonction Time [30], mais cette fonction renvoie des valeurs non seulement en minutes mais aussi en heures, jours et années.
pour la bougie dont j'ai besoin. La fonction Minute( ) ne me convient pas non plus, car elle ne renvoie la valeur des minutes que pour le chandelier zéro.
Veuillez me conseiller sur la meilleure façon de coder ce point.
Papa ! Merci beaucoup..... et encore une petite question....
Je veux ouvrir un ordre seulement si
1. La distance entre le prix d'ouverture de la bougie N 30 et le maximum de la bougie N 1 est supérieure à 150 p.
2. L'heure d'ouverture d'une bougie N 30 est égale à - N'IMPORTE QUELLE HEURE, N'IMPORTE QUELLE DATE, mais la valeur de MINUTES DOIT ÊTRE de 15 ( c'est-à-dire0:15;1:15 ;....23:15)
si ((High[1]-Open[30])> 1500*Point) && ( ??????????????????)
//ouverture de la commande
Je voulais créer la deuxième condition en utilisant la fonction Time [30], mais cette fonction renvoie des valeurs non seulement en minutes mais aussi en heures, jours et années.
pour la bougie dont j'ai besoin. La fonction Minute( ) ne me convient pas non plus, car elle ne renvoie la valeur des minutes que pour le chandelier zéro.
Veuillez me conseiller sur la manière de mieux le coder.
https://docs.mql4.com/ru/dateandtime/TimeMinute
Nous devons normaliser le prix.
Normalisé. Il ne s'ouvre toujours pas...
Bien que l'autre code s'ouvre sans normalisation....
https://docs.mql4.com/ru/dateandtime/TimeMinute
Normalisé. Il ne s'ouvre toujours pas...
Bien que d'autres codes s'ouvrent sans normalisation....
Lorsque le prix se déplace vers le bas, il y a déjà une ligne bleue en plus de la ligne rouge (les lignes rouges sont ajoutées, voir les pièces jointes). Puis la tendance change, et ici tout est correct - seulement le bleu.
merci d'avance
/* Décompilé supprimé /*
Papa ! Merci beaucoup..... et encore une petite question....
Je veux ouvrir un ordre seulement si
1. La distance entre le prix d'ouverture de la bougie N 30 et le maximum de la bougie N 1 est supérieure à 150 p.
2. L'heure d'ouverture d'une bougie N 30 est égale à - N'IMPORTE QUELLE HEURE, N'IMPORTE QUELLE DATE, mais la valeur de MINUTES DOIT ÊTRE de 15 ( c'est-à-dire0:15;1:15 ;....23:15)
si ((High[1]-Open[30])> 1500*Point) && ( ??????????????????)
//ouverture de la commande
Je voulais créer la deuxième condition en utilisant la fonction Time [30], mais cette fonction renvoie des valeurs non seulement en minutes mais aussi en heures, jours et années.
pour la bougie dont j'ai besoin. La fonction Minute( ) ne me convient pas non plus, car elle ne renvoie la valeur des minutes que pour la bougie zéro.
Veuillez me dire quelle est la meilleure façon de coder ce point.
Pour fixer (inclure dans les calculs) le temps à partir du début (de TOUTE bougie), il est pratique d 'utiliser iBarShift (Symbol(), 1, point d'oscillation). Et le point d'oscillation est le début de la mesure de la période qui est suivie. Dans votre cas :
Après avoir jeté un coup d'œil à un morceau de votre code, je peux dire que vous ne pensez pas du tout à ce que vous écrivez. Essayez d'y réfléchir (extrait) :
...
Après avoir jeté un coup d'œil à un morceau de votre code, je peux dire que vous ne pensez pas du tout à ce que vous écrivez. Essayez d'y réfléchir (fragment) :
...
Merci pour votre réponse, désolé d'avoir envoyé votre code sans commentaires.
Ce que vous pensez n'avoir aucun sens a un sens, et ça marche.
si(Bid==Prix) // si l'heure est égale à l'heure d'ouverture de la bougie.un nouveau chandelier est formé
if((Minute( ) ==45)&&(Minute( ) <50)) // si la valeur de la minute à l'ouverture d'une nouvelle bougie est comprise entre 45 et 50(le truc, c'est que certaines bougies s'ouvrent à 45 min, et pas exactement à 45 min. J'utilise donc &&(Minute( ) <50) pour éviter de rater des bougies qui s'ouvrent à 45 min. mais qui s'ouvrent en fait 1,2,3,4 min. plus tard).
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+150*Point, "jfh",123 ) ;
}
retour ;
L'ordre s'ouvre donc au début de chaque bougie de 15 ou 5 ou 1 minute, qui techniquement s'ouvre à 45 minutes (+ 4 minutes maximum, c'est-à-dire avec un délai).J'essaie de te faire comprendre un petit point. Un point très IMPORTANT: "ce que vous vouliez prescrire" et "ce que vous avez prescrit" sont des choses complètement DIFFÉRENTES ! Si dans l'état :
Minute() == 46, alors la condition générale ne fonctionne PAS ! !! Que dites-vous de ça ?
? ?? :-[
J'essaie de te faire comprendre un petit point. Un point très IMPORTANT: "ce que vous vouliez prescrire" et "ce que vous avez prescrit" sont des choses complètement DIFFÉRENTES ! Si dans l'état :
Minute() == 46, alors la condition générale ne fonctionne PAS ! !! Que dites-vous de ça ?
? ?? :-[
Merci pour la réponse, j'ai vérifié et c'est effectivement le cas.
J'avais l'habitude.
> =
Mais j'ai dû supprimer accidentellement > , ou oublier de l'insérer lors de l'édition du code, et c'est maintenant par hasard que j'ai remarqué les changements en rapport avec la discussion d'un autre problème.
En effet, >= ouvre toutes les bougies de 45 à 49, et == seulement 45.
Je ne comprends pas seulement pourquoi vous pensez que si Minute() == 46,(probablement vous vouliez dire 45) alors la condition GÉNÉRALE ne fonctionne pas !!!
Peut-être que je ne comprends pas bien ce que vous entendez par condition GÉNÉRALE, mais dans le code if((Minute( ) ==45)&&(Minute( ) <50))
seules les bougies ayant un temps d'ouverture de 45 minutes exactement sont ouvertes.
Car si la condition ne fonctionnait pas, les commandes ne s'ouvriraient pas ? ???????.
Merci encore.