[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 - 2. - page 458
Maximov7: J'essaie d'écrire mon premier Expert Advisor... S'il vous plaît, dites-moi comment corriger Ask, en le déclarant à travers une variable, et il devrait être global, car il devrait être perçu par chaque fonction spéciale.... aidez-moi s'il vous plaît))))
Déclarez la double variable juste après les paramètres externes de l'EA, mettez-la à Ask quand c'est nécessaire, utilisez-la dans n'importe quelle fonction. Bien qu'il soit plus correct d'utiliser des variables locales et de les passer comme arguments... Et comprenez la portée des variables, c'est la base, vous ne pouvez pas vous en passer de toute façon.
C'est ce que j'ai fait, mais je ne peux pas le voir à l'intérieur de la fonction start(), et dans le journal il est dit que depuis le début la variable n'a pas été assignée une valeur Ask à cet intervalle de temps, mais juste 0.
mettez Print() à l'endroit où la fonction ClosePosBySizeProfitInPercent("0", -1, Magic, VashParametrPR) est appelée ; avant celle-ci.
Les paramètres sont définis explicitement. Peut-être y a-t-il encore des restrictions non documentées ? Par exemple, le nombre maximum de procédures, ou la longueur du nom de la procédure ? Tout fonctionnait. Cela n'a pas fonctionné après avoir ajouté une nouvelle procédure, mais elle a une tâche différente.
il n'est pas possible de démarrer parce qu'à chaque nouveau tick, une nouvelle valeur Ask.... sera assignée et elle doit être réservée pour une opération ultérieure.
vous ne pouvez pas le faire au départ car chaque nouveau tick assignera une nouvelle valeur à Ask.... et vous devez le verrouiller pour la suite des opérations.
écrire dans init()
mais il n'est pas clair pourquoi vous avez besoin de Ask dès le moment du démarrage
C'est la première fois que je participe à ce forum, je m'excuse si j'ai écrit au mauvais endroit.
J'ai besoin d'aide pour ajouter un TP virtuel à mon EA (en pips et/ou lorsqu'il atteint une valeur donnée de profit).
Aidez-moi !
Sincèrement Roman.
Commencez à écrire le code vous-même et ils vous aideront ici et vous expliqueront ce que vous ne comprenez pas. Si vous voulez commander la modification du conseiller expert, vous devez payer pour les services de programmation.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
J'essaie d'écrire mon premier Expert Advisor... S'il vous plaît, dites-moi comment corriger Ask, en le déclarant à travers une variable, et il devrait être global, car il devrait être perçu par chaque fonction spéciale.... aidez-moi s'il vous plaît))))
Déclarez la double variable juste après les paramètres externes de l'EA, mettez-la à Ask quand c'est nécessaire, utilisez-la dans n'importe quelle fonction. Bien qu'il soit plus correct d'utiliser des variables locales et de les passer comme arguments... Et comprenez la portée des variables, c'est la base, vous ne pouvez pas vous en passer de toute façon.
C'est ce que j'ai fait, mais je ne peux pas le voir à l'intérieur de la fonction start(), et dans le journal il est dit que depuis le début la variable n'a pas été assignée une valeur Ask à cet intervalle de temps, mais juste 0.
extern double C1; C1 = Ask;
extern double C2; C2 = Bid;
int start()
{
OrderSend("EURUSD",OP_BUY,0.1,C1,3,Bid-0.0009,Ask+0.0009);
Pour être sûr
mettez Print() à l'endroit où la fonction ClosePosBySizeProfitInPercent("0", -1, Magic, VashParametrPR) est appelée ; avant celle-ci.
double C1;
// в старте
C1 = Ask;
il n'est pas possible de démarrer parce qu'à chaque nouveau tick, une nouvelle valeur Ask.... sera assignée et elle doit être réservée pour une opération ultérieure.
double C1;
// в старте
C1 = Ask;
vous ne pouvez pas le faire au départ car chaque nouveau tick assignera une nouvelle valeur à Ask.... et vous devez le verrouiller pour la suite des opérations.
écrire dans init()
mais il n'est pas clair pourquoi vous avez besoin de Ask dès le moment du démarrage
Bonne journée à tous !
C'est la première fois que je participe à ce forum, je m'excuse si j'ai écrit au mauvais endroit.
J'ai besoin d'aide pour ajouter un TP virtuel à mon EA (en pips et/ou lorsqu'il atteint une valeur de profit définie).
Aidez-moi !
Sincèrement Roman.
Bonne journée à tous !
C'est la première fois que je participe à ce forum, je m'excuse si j'ai écrit au mauvais endroit.
J'ai besoin d'aide pour ajouter un TP virtuel à mon EA (en pips et/ou lorsqu'il atteint une valeur donnée de profit).
Aidez-moi !
Sincèrement Roman.
À combien estimez-vous le coût des travaux relatifs à mon problème ?
Voici une autre question .... J'ai un ordre ouvert comme celui-ci :
OrderSend("EURUSD",OP_BUY,0.1,C1,10,Bid-0.0017-0.0017,Ask+0.0017);
comment ouvrir un autre ordre si celui-là se ferme à takeprofit ????