[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 513
Bonjour, je suis un débutant qui essaie de comprendre comment écrire une EA. conseiller comment écrire "si un ordre précédemment fermé était un ordre d'achat et a été fermé avec un stop loss alors vendre 0.1 lot avec un stop loss 50 take profit 50" svp)
Veuillez me dire ce que je fais de mal lorsque je calcule le nombre de premières barres (Quant_Bars) qui correspondent à la condition uniquement au-dessus ou au-dessous du tampon. C'est-à-dire que dès que l'indicateur est dessiné AVANT la barre fermée (1), je devrais compter les barres précédentes avec l'indicateur EN DESSOUS des barres (sauf celles qui ne sont pas conformes à la condition) et vice versa, dans le sens inverse du mouvement. Ma variante donne des valeurs erronées.
Pourquoi, lorsque mon conseiller expert draine proprement tout le dépôt et que pratiquement toutes les transactions sont perdantes, puis lorsque je change la "polarité" des signaux, le dépôt n'augmente pas aussi rapidement, mais déjà ? )))) les points sont les mêmes, l'erreur se situe uniquement dans le sens d'ouverture de l'ordre, ou il y a autre chose ?
Pourquoi, lorsque mon conseiller expert draine proprement tout le dépôt et que pratiquement toutes les transactions sont perdantes, puis lorsque je change la "polarité" des signaux, le dépôt n'augmente pas aussi rapidement, mais déjà ? )))) les points sont les mêmes, l'erreur se situe uniquement dans le sens d'ouverture de l'ordre, ou il y a autre chose ?
Il y a 4 ordres, 2 ventes et 2 achats. Les scellés sont créés, au sens figuré, lorsque le prix monte et achetés lorsqu'il baisse. Les ventes sont supprimées lorsqu'un achat est créé et vice versa. Lorsqu'un ticket est créé, le 1er achat ou vente est stocké dans la variable pos. Les 4 ont le même commentaire - "Aelit". Donc, il y a un code :
L'ordre est sélectionné normalement par le ticket, mais très souvent la comparaison des commentaires échoue. Pour l'intérêt, j'ai fait autre chose Alert(OrderComment()) ; et le journal a montré "Alert : Aelit[sl]". Qu'est-ce que [sl] ? Est-ce parce que toutes les commandes ont le même commentaire ? Alors pourquoi le même [sl] lorsque j'ai fait un commentaire qui ne correspondait pas aux autres pour le test ? Si vous supprimez la vérification du commentaire, une erreur de ticket apparaît dans le journal pour OrderModify. Au début, je pensais que la condition était atteinte avant qu'un ordre ne soit créé, mais non, à ce moment-là, l'ordre est déjà là, et le ticket est le même en cas de déclenchement de la condition et de non déclenchement. Comment le comprendre ?
Ce n'est pas un miracle que votre société de courtage ait ajouté à votre commentaire - l'ordre a été fermé lorsque le StopLoss a été atteint.
Vous n'avez pas organisé correctement la sélection des commandes sur le ticket. Lors d'une telle sélection, tout d'abord, MODE_TRADES est inutile - il est omis dans la fonction OrderSelect(),
Deuxièmement, après la sélection réussie de l'ordre, vous ne vérifiez pas si l'ordre a été sélectionné dans le tableau des ordres en fonction du ticket - parmi les ordres du marché ou parmi les ordres fermés.
Pour ce faire, une fois l'ordre sélectionné, vérifiez son heure de clôture et si elle est égale à zéro, alors seulement l'ordre est un ordre de marché, sinon - il est sélectionné parmi les ordres déjà clôturés (d'où l'ajout à votre commentaire).
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.
Des conseils de pro sur la façon de l'optimiser pour les prix d'ouverture dans l'auto-optimiseur :
https://forum.mql4.com/ru/42125
conseiller comment écrire "si un ordre précédemment fermé était un ordre d'achat et a été fermé avec un stop loss alors vendre 0.1 lot avec un stop loss 50 take profit 50" svp)
Spécialistes ! Au secours ! Comment cela peut-il être mis en œuvre ?
Nous devons fixer OPEN=true jusqu'à ce que l'option
condition2. La condition1 peut changer pendant cette période.
Merci d'avance !
le sortir pour le départ
le sortir pour le départ
Merci beaucoup ! Comme on dit, tout est brillamment simple ! Et je me suis creusé les méninges toute la journée.
Veuillez me dire ce que je fais de mal lorsque je calcule le nombre de premières barres (Quant_Bars) qui correspondent à la condition uniquement au-dessus ou au-dessous du tampon. C'est-à-dire que dès que l'indicateur est dessiné AVANT la barre fermée (1), je devrais compter les barres précédentes avec l'indicateur EN DESSOUS des barres (sauf celles qui ne sont pas conformes à la condition) et vice versa, dans le sens inverse du mouvement. Ma variante donne des valeurs erronées.
Qui sait comment le faire ?
question,
Pourquoi, lorsque mon conseiller expert draine proprement tout le dépôt et que pratiquement toutes les transactions sont perdantes, puis lorsque je change la "polarité" des signaux, le dépôt n'augmente pas aussi rapidement, mais déjà ? )))) les points sont les mêmes, l'erreur se situe uniquement dans le sens d'ouverture de l'ordre, ou il y a autre chose ?
question,
Pourquoi, lorsque mon conseiller expert draine proprement tout le dépôt et que pratiquement toutes les transactions sont perdantes, puis lorsque je change la "polarité" des signaux, le dépôt n'augmente pas aussi rapidement, mais déjà ? )))) les points sont les mêmes, l'erreur se situe uniquement dans le sens d'ouverture de l'ordre, ou il y a autre chose ?
il y a autre chose
Bon après-midi.
Il y a 4 ordres, 2 ventes et 2 achats. Les scellés sont créés, au sens figuré, lorsque le prix monte et achetés lorsqu'il baisse. Les ventes sont supprimées lorsqu'un achat est créé et vice versa. Lorsqu'un ticket est créé, le 1er achat ou vente est stocké dans la variable pos. Les 4 ont le même commentaire - "Aelit". Donc, il y a un code :
L'ordre est sélectionné normalement par le ticket, mais très souvent la comparaison des commentaires échoue. Pour l'intérêt, j'ai fait autre chose Alert(OrderComment()) ; et le journal a montré "Alert : Aelit[sl]". Qu'est-ce que [sl] ? Est-ce parce que toutes les commandes ont le même commentaire ? Alors pourquoi le même [sl] lorsque j'ai fait un commentaire qui ne correspondait pas aux autres pour le test ? Si vous supprimez la vérification du commentaire, une erreur de ticket apparaît dans le journal pour OrderModify. Au début, je pensais que la condition était atteinte avant qu'un ordre ne soit créé, mais non, à ce moment-là, l'ordre est déjà là, et le ticket est le même en cas de déclenchement de la condition et de non déclenchement. Comment le comprendre ?
Ce n'est pas un miracle que votre société de courtage ait ajouté à votre commentaire - l'ordre a été fermé lorsque le StopLoss a été atteint.
Vous n'avez pas organisé correctement la sélection des commandes sur le ticket. Lors d'une telle sélection, tout d'abord, MODE_TRADES est inutile - il est omis dans la fonction OrderSelect(),
Deuxièmement, après la sélection réussie de l'ordre, vous ne vérifiez pas si l'ordre a été sélectionné dans le tableau des ordres en fonction du ticket - parmi les ordres du marché ou parmi les ordres fermés.
Pour ce faire, une fois l'ordre sélectionné, vérifiez son heure de clôture et si elle est égale à zéro, alors seulement l'ordre est un ordre de marché, sinon - il est sélectionné parmi les ordres déjà clôturés (d'où l'ajout à votre commentaire).