Questions des débutants MQL4 MT4 MetaTrader 4 - page 114
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
Bonjour ! Comment puis-je créer un trigger ? Par exemple, j'ai besoin de cette condition if(iClose(NULL,HTF,4)<BlueLine) si elle est exécutée DayDown = 1 ! Q : Comment faire pour que DayDown soit laissé à 1 et ne soit pas interrogé avant le jour suivant ?
J'ai d'autres objets attachés à un objet, et lorsque vous supprimez cet objet, les autres restent accrochés au graphique.
Je vois ça comme ça :
if(DayNext!= Day()) // S'il s'agit d'un nouveau jour, vous devez polluer
{
// Polling
si(iClose(NULL,1440,2)<BlueLine)
si(iOpen(NULL,1440,1)<BlueLine && iClose(NULL,HTF,1)>BlueLine)
PROBOI1 = 1;Print("Fermé au-dessus de BlueLine = ",iClose(NULL,HTF,1)) ;
si(iClose(NULL,1440,2)>RedLine)
si(iOpen(NULL,1440,1)>RedLine && iClose(NULL,HTF,1)<RedLine)
PROBOI1 = -1;Print("Fermé sous RedLine = ",iClose(NULL,HTF,1)) ;
DayNext = Day() ; // Se souvenir du jour
}
Corrigez si quelque chose ne va pas ! En outre, si je veux suivre ce qui se passe actuellement sur une TF inférieure, dois-je écrire Day en dehors de l'enquête ? A droite -STARIJ:
if(iClose(NULL,60,1)>RedLine&&iClose(NULL,1440,2)>RedLine) ) Vendre = 1
https://www.mql5.com/ru/forum/226620#comment_6481536
Définissez le nombre magique +1 pour la condition 1, le nombre magique +2 pour la condition 2 et ainsi de suite. De cette façon, vous pouvez alors voir si cette position a été ouverte avec la condition 1 ou avec la condition 2...
Après-midi. Je n'ai réussi que pour un seul poste BAY. L'ensemble de magik pour la vente ne fonctionne pas pour une raison quelconque. Tout est absolument identique, à l'exception de la magie elle-même, bien sûr. Qu'est-ce que j'ai fait de mal ?
Qu'est-ce que j'ai fait de mal ?
Je m'excuse de ne pas avoir trouvé le début de la correspondance, mais je voudrais vous conseiller immédiatement d'éviter les conditions et les calculs complexes dans celles-ci - cela rend le code illisible et complique donc la recherche d'erreurs logiques, j'écrirais votre code comme ceci :
Si vous comprenez ce que je veux dire, vous pouvez modifier le code que je vous ai donné un peu plus, je veux dire le mettre dans une condition séparéeif(OrderType()==OP_BUY....
Il sera alors beaucoup plus facile de trouver des erreurs de logique, je pense.
Je m'excuse de ne pas avoir trouvé le début de la correspondance, mais je voudrais immédiatement conseiller d'éviter les conditions complexes et les calculs dans celles-ci - cela rend le code illisible et par conséquent complique la recherche d'erreurs logiques, j'écrirais votre code comme ceci :
Si vous comprenez ce que je veux dire, vous pouvez modifier le code que je vous ai donné un peu plus - je veux dire le mettre dans une condition séparéeif(OrderType()==OP_BUY....
Il sera alors beaucoup plus facile de trouver des erreurs de logique, je pense.
J'ai compris, merci, mais d'après ce que j'ai compris, il n'y a pas de différence pour la compréhension du code par la plateforme, alors que pour moi, diviser une condition en plusieurs plus courtes semble être plus compliqué dans la recherche d'erreurs car le nombre d'occurrences d'instructions les unes dans les autres augmente. Mais peut-être que tu as raison et que je vais bientôt me ranger de ton côté. Concernant la logique du code - je n'ai pas trouvé de différence entre le mien et le vôtre et je ne vois toujours pas l'erreur.
Concernant la logique du code - je n'ai trouvé aucune différence entre le mien et le vôtre et je ne vois toujours pas l'erreur.
Exactement - la logique du code est la même, mais si vous divisez les conditions, il est plus rapide de trouver où se trouve l'erreur logique, et dans votre cas, si vous la supprimez :
en une condition séparée, nous obtenons une optimisation du code - la condition sera vérifiée une fois au lieu de 4 fois comme dans votre exemple.
Vérifier la sortie dans le journal du conseiller expert en utilisant la fonction
Print()
pour la journalisation afin de voir quel fragment de code est exécuté et avec quels paramètres
Les gars,
Comment lire l'indicateur Morning Flat dans le code de l'Expert Advisor ?
J'essaie de cette façon et ça ne marche pas.
L'indicateur lui-même