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
La fonction isCloseLastPosByStop().
Cette fonction renvoie un drapeau pour fermer la dernière position par arrêt. Le drapeau est levé - Vrai - Le StopLoss s'est déclenché. Drapeau abaissé - Faux - le poste a été fermé pour une autre raison. Une sélection plus précise des positions à prendre en compte est établie à l'aide de paramètres externes :
Fonction OpenPosition() en ligne.
2008.05.20 04:47:41 !OBLD_EUR_S EURUSD,M30 : les appels de fonctions expertes ne sont pas autorisés ; 'stdlib'-'ErrorDescription'.
J'ai connecté la fonction OpenPosition() dans mon Expert Advisor sur le réel, l'erreur 4059
L'erreur 4059 signifie que la fonction n'est pas disponible en mode test. L'identificateur d'erreur est ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE. Les fonctions suivantes génèrent l'erreur : MarketInfo, MessageBox, SendFTP, SendMail, WindowIsVisible, WindowFind, WindowHandle.
a changé NULL en Symbol(), il a disparu, puis un message est apparu
2008.05.20 04:47:41 !OBLD_EUR_S EURUSD,M30 : les appels de fonctions expertes ne sont pas autorisés ; 'stdlib'-'ErrorDescription'.
La fonction isCloseLastPosByTake().
Cette fonction renvoie un drapeau pour clôturer la dernière position au moment du Take Profit. Le drapeau est levé - Vrai - TakeProfit a été déclenché. Drapeau abaissé - Faux - le poste a été fermé pour une autre raison. Une sélection plus précise des positions à prendre en compte est spécifiée à l'aide de paramètres externes :
La fonction isLossLastPos().
Cette fonction renvoie le drapeau de perte de la dernière position fermée. Drapeau vers le haut - Vrai - la dernière position a été fermée avec une perte. Drapeaux vers le bas - Faux - la dernière position a été fermée soit à zéro, soit avec un bénéfice. Cette fonction ne tient pas compte des swaps et des commissions. La sélection des positions est définie par des paramètres externes :
La fonction isTradeToDay().
Cette fonction renvoie le drapeau commercial pour aujourd'hui. Le drapeau est levé - Vrai - il y avait des positions ouvertes aujourd'hui. Drapeau en baisse - Faux - aucune position ouverte aujourd'hui. La sélection des positions à prendre en compte est fixée par des paramètres externes :
La fonction isCloseLastPosByStop().
Cette fonction renvoie un drapeau pour fermer la dernière position par arrêt. Le drapeau est levé - Vrai - Le StopLoss s'est déclenché. Drapeau abaissé - Faux - le poste a été fermé pour une autre raison. Une sélection plus précise des positions à prendre en compte est établie à l'aide de paramètres externes :
().Après-midi . Lors de l'implémentation du code avec cette fonction, une certaine confusion est apparue. J'ai appliqué cette fonction comme ceci :
Jusqu'à ce point, tout fonctionne bien ! Toutes les positions d'achat sont fermées et les positions d'achat sont supprimées, comme je l'ai défini ! Mais ensuite, le conseiller expert réinitialise les ordres en attente en fonction de ses signaux d'entrée. Comme prévu.
Mais ces commandes sont instantanément supprimées ! Apparemment, le drapeau y est toujours accroché. Mais pourquoi est-elle là ? Les dernières positions n'ont pas été fermées par un Stop Loss mais par la force !
Comment dois-je faire face à cette situation ? Comment puis-je faire en sorte que mon Expert Advisor affiche ses ordres suivants normalement après l'exécution de la commande de fermeture de cet algorithme ?
Que dois-je faire dans cette situation ? Pour que l'EA puisse placer ses prochains ordres normalement après la commande de fermeture de ceux-ci ?
Cette question doit être abordée dans le contexte de l'ensemble de la tâche, car il ne s'agit pas d'une action unique, mais d'une interaction, et dans un certain ordre. Par conséquent, décrivez la tâche dans son intégralité. Vous n'avez pas besoin d'un code. Il suffit de décrire la tâche en mots.
Question d'échauffement. Pourquoi devez-vous supprimer des commandes et les remettre en place ? Je pense qu'il est préférable de modifier.
Mes ordres et mes positions sont regroupés dans des tableaux en fonction des bénéfices, des pertes, des ordres stop et limite, et d'autres raisons.
Dans ce cas particulier, je ferme le tableau des positions BUY qui ont été ouvertes à l'aide d'ordres stop et qui ont accumulé un profit déterminé. Et je supprime tous les autres ordres stop qui n'ont pas fonctionné.
//---------------------------------------------------------------------------------------------
Maintenant, j'ai mis en place une fonction de commentaire - Commentaire (isCloseLastPosByStop()) ;
Je regarde. Initialement, la fonction =0. Après la première fermeture d'un commentaire Stop Loss (isCloseLastPosByStop()) ; change à un, et ensuite - après la fermeture forcée d'autres positions, il ne revient pas à zéro, mais continue à être un !