Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 471
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 à tous ceux qui se sentent concernés !
Je suis un utilisateur avancé. Mais je n'écris pas souvent. C'est pourquoi je ne peux pas suivre certaines innovations. Et parfois j'oublie des choses.
S'il te plaît, aide-moi à répondre à une question. Je n'arrive pas à me souvenir d'une chose.
Voici la situation. J'ai défini des variables externes. J'en ai défini beaucoup. 20 variables.Ils sont affichés dans le menu de saisie du programme, lorsque vous attachez ce programme au graphique.
Voici la question. Je ne me souviens pas. Comment séparer les blocs de ces variables avec des commentaires ? Dans le menu de saisie. Par exemple :
Il s'agit d'un blocage sur la modification des variables MA (commentaire)
Période MA
Méthode de réglage MA
Prix MA
Il s'agit d'un bloc sur la modification des variables MACD (commentaire)
..........................
...........................
...........................
Il s'agit d'un blocage sur la modification des variables BB (commentaire)
.........................
..............................
...........................
Il semble qu'avant je saisissais de tels commentaires avec la fonction commentaire du code.C'est-à-dire que j'ai écrit // ou /* */. Mais maintenant quelque chose ne fonctionne pas.
Comme ceci
Comme ça.
Merci, ça me fait penser ! !!
Essayez comme ça :
Ceci afin de montrer tous les chiffres significatifs de la citation. Si un autre nombre de chiffres est nécessaire, remplacez Digits() par un nombre spécifique.
Essayez comme ça :
Ceci afin de montrer tous les chiffres significatifs de la citation. Si vous avez besoin d'un autre nombre de chiffres, remplacez Digits() par un nombre spécifique.
Maintenant il imprime correctement 15,155, cependant - stoploss invalide pour la fonction OrderModify.
Ce problème ne concerne que Silver dans OrderModify.
L'impression est maintenant correcte : 15 155 dans Print, mais le stoploss n'est pas valide pour la fonction OrderModify.
Ce problème ne concerne que Silver dans OrderModify.
Deux erreurs peuvent être observées dans ce code :
Pour résoudre le premier problème, nous devons obtenir le niveau d'arrêt actuel :
Si fStopLevel s'avère être zéro et que le type de compte n'est pas ECN, alors fStopLevel doit être forcé à être égal à trois spreads.
Avant de fixer des stops (à la fois Stop Loss et Take Profit), vérifiez que le nouveau niveau est égal ou supérieur au Stop Level à partir du prix de clôture de l'ordre. Pour vérifier le stop d'un ordre d'achat, il faut procéder comme suit :
Pour un ordre de vente stop :
La solution au second problème: comparer des valeurs réelles avec une certaine précision, car l'égalité des nombres réels ne peut pas être atteinte toujours et partout. J'ai déjà donné un exemple de comparaison ci-dessus dans le code de validation du niveau d'arrêt.
Il y a deux erreurs dans ce code qui sont frappantes :
Pour résoudre le premier problème, nous devons obtenir le niveau d'arrêt actuel :
Si fStopLevel s'avère être zéro et que le type de compte n'est pas ECN, alors fStopLevel doit être forcé à être égal à trois spreads.
Avant de fixer des stops (à la fois Stop Loss et Take Profit), vérifiez que le nouveau niveau est égal ou supérieur au Stop Level à partir du prix de clôture de l'ordre. Pour vérifier le stop d'un ordre d'achat, il faut procéder comme suit :
Pour un ordre de vente stop :
La solution au second problème: comparer des valeurs réelles avec une certaine précision, car l'égalité des nombres réels ne peut pas être atteinte toujours et partout. J'ai déjà donné un exemple de comparaison ci-dessus dans le code de validation du niveau d'arrêt.
Merci.
Cependant, la question n'est pas close. OrderModify commence à se déclencher immédiatement lorsqu'un ordre est ouvert. Où se trouve l'erreur ? (Je répète - sur toutes (toutes) les devises/futures cela fonctionne, sur l'argent cela ne fonctionne pas)
Merci.
Cependant, la question n'est pas close. OrderModify commence à se déclencher immédiatement lorsqu'un ordre est ouvert. Où se trouve l'erreur ? (Je répète - sur toutes (toutes) les devises/futures cela fonctionne, sur l'argent cela ne fonctionne pas)
1. Directive
utilisez-vous ?
2) Cela se produit-il avec la vente et l'achat, ou seulement avec la vente ?
3. Le Stop Loss est-il fixé à l'ouverture de la position ou le trader doit-il le fixer si possible ?
Merci.
Cependant, la question n'est pas close. OrderModify commence à fonctionner dès qu'une commande est ouverte. Où se trouve l'erreur ? (Je répète - il fonctionne sur toutes les devises/futures, il ne fonctionne pas sur l'argent)
Affichez l'extrait de journal (si vous êtes en ligne, l'onglet Experts) où vous pouvez voir l'ouverture et les modifications de l'ordre au marché et indiquer quelles valeurs de TrailingStop et de TrailingStep ont été utilisées.