Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 98

 
Andrey Sokolov:
Lorsque le code comporte des sections d'achat et de vente, après le déclenchement de l'ordre en attente, son arrêt sera corrigé dans n'importe quelle direction de prix pour une raison quelconque. Et lorsqu'il n'y a qu'une partie Achat ou Vente du code, le stop est corrigé comme prévu, uniquement lorsque le prix s'en éloigne.

Donc, mettez de l'ordre dans le code, il y a beaucoup d'erreurs. Par exemple, pour toute action avec une commande, celle-ci doit d'abord être sélectionnée par la fonctionOrderSelect(), cette condition n'est pas remplie partout dans votre code. Ensuite, lors de la modification d'un ordre, les paramètres qui restent inchangés doivent être transmis sous leur forme originale et non pas remis à zéro.

C'est-à-dire qu'au lieu deOrderModify(ticket, prix, sl,0,0, Bleu), nous avons besoin deOrderModify(ticket, prix, sl,OrderTakeProfit(),OrderExpiration(), Bleu).

Il ne faut pas espérer que le ticket soit stocké en mémoire pour toujours, ce n'est pas vrai, surtout lorsque plusieurs commandes sont ouvertes, et que leurs tickets sont écrits dans la même variable. Et ensuite essayer de modifier ou de supprimer la commande par un ticket inconnu.

 
Andrey Sokolov:
Lorsqu'il y a les deux parties du code, à la fois pour l'achat et pour la vente, alors après le déclenchement de l'ordre en attente, son arrêt est corrigé dans n'importe quelle direction de prix pour une raison quelconque. Et lorsqu'il n'y a qu'une partie BUY ou SELL du code, le stop est corrigé comme prévu, uniquement lorsque le prix s'en éloigne.
Tout d'abord, créez des variables différentes pour les billets d'achat et de vente.
 
Vitalie Postolache:

Par exemple, pour toute action sur une commande, celle-ci doit d'abord être sélectionnée avecOrderSelect(), une condition qui n'est pas remplie partout.

C'est ainsi qu'il est sélectionné, la fonction à la fin. Ou qu'est-ce qui ne va pas ?
 
Vitalie Postolache:

Ensuite, lors de la modification de l'ordre, les paramètres qui restent inchangés doivent être transmis sous leur forme originale, sans être mis à zéro.

Autrement dit, au lieu deOrderModify(ticket, prix, sl,0,0, Bleu), vous devriezOrderModify(ticket, prix, sl,OrderTakeProfit(),OrderExpiration(), Bleu).

Le profit et le moment de l'expiration sont absents, donc c'est zéro. Est-ce incorrect ?
 
Sergey Gritsay:
Tout d'abord, créez des variables différentes pour les billets d'achat et de vente.
Vitalie Postolache:

Vous ne pouvez pas espérer garder un ticket en mémoire pour toujours, c'est faux, surtout lorsque plusieurs commandes sont ouvertes et que leurs tickets sont écrits dans la même variable. Et ensuite essayer de modifier ou de supprimer une commande par un ticket inconnu.

Merci.

C'était effectivement le problème. Mais je l'ai fait avant même de demander ici, apparemment je devais aller dormir.

 

Je suis nouveau sur le site, mais je travaille sur ce projet depuis un certain temps déjà.

J'ai l'impression qu'il fonctionne bien mais j'ai un drawdown, que dois-je faire si je veux avoir moins de drawdown.

J'ai une transaction de vente ouverte sur la capture d'écran.

 
Denizrip:

Je suis nouveau sur le site, mais je travaille sur ce sujet depuis un certain temps déjà.

J'ai la bonne impression qu'il fonctionne bien mais j'ai un drawdown, que dois-je faire si je veux moins de drawdown.

J'ai une transaction de vente ouverte sur la capture d'écran.

Vous auriez dû ouvrir Achat au lieu de Vente et à 1.0620 Vente, nous n'aurions pas eu de slippage.
 
Denizrip:

Je suis nouveau sur le site, mais je travaille sur ce projet depuis un certain temps déjà.

J'ai l'impression qu'il fonctionne bien mais j'ai un drawdown, que dois-je faire si je veux avoir moins de drawdown.

J'ai une transaction de vente ouverte sur la capture d'écran.

Construisez une machine à remonter le temps, de toute urgence. Revenez un peu plus tôt que l'heure de la vente, donnez-vous une gifle et au lieu de vendre, achetez :)

Mais sérieusement, le "prix a augmenté" beaucoup plus tôt que le moment indiqué par la flèche dans l'image. La position aurait donc dû être inversée, au lieu d'attendre que le prix augmente davantage.

Ou, à la moyenne où se trouve la dernière flèche, si le dépôt est suffisant. C'est si le stoploss vous dégoûte, mais sinon - le stoploss est la règle.

 
Denizrip:

Je suis nouveau sur le site, mais je travaille sur ce projet depuis un certain temps déjà.

J'ai l'impression qu'il fonctionne bien mais j'ai un drawdown, que dois-je faire si je veux avoir moins de drawdown.

J'ai une transaction de vente ouverte sur la capture d'écran.

2 variantes :

mettre un frein avant qu'il ne se transforme en chalut

ou attraper une perte et profiter du moment

 

Vitaly Muzichenko:

.... et quelqu'un pour le commerce, donc vous pouvez utiliser plus d'un cycle.

Merci.