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 @Stanislav Korotky, je suis nouveau sur MQL5. J'ai trouvé que vous aviez mis en ligne un fichier wss.zip pour l'utilisation de websocket. Comment l'utiliser, y a t-il une démo ou quelque chose que je peux apprendre. Je vous remercie sincèrement !
Vous pouvez trouver plusieurs exemples dans le livre algotrading, dans la section décrivant (étape par étape) l'implémentation d'un projet de service web pour copier les trades et les signaux.
Vous pouvez trouver plusieurs exemples dans le livre algotrading, dans la section décrivant (étape par étape) l'implémentation d'un projet de service web pour copier des trades et des signaux.
Bonjour @StanislavKorotky
J'essaie d'implémenter une fermeture de position partielle avec un ordre en attente dans la direction opposée.
ex :
MqlTradeRequestSync reqs(transaction.symbol) ;
reqs.closeby(target_position_ticket_id, transaction.order) ;
Je pense que la ligne ci-dessus devrait être en mesure de faire le travail, mais mon défi est de savoir comment obtenir le `target_position_ticket_id`dans le gestionnaire d'événement OnTradeTransaction -> TRADE_TRANSACTION_DEAL_ADD ( transaction.type) ou d'associer d'une manière ou d'une autre l'ordre en attente avec le target_position_ticket_id qu'il est censé clôturer chaque fois que l'ordre en attente est exécuté.
J'ai essayé d'ajouter le `target_position_ticket_id`au commentaire de l'ordre en attente lorsque je crée l'ordre en attente, mais le problème est que dans l'événement OnTradeTransaction -> TRADE_TRANSACTION_DEAL_ADD (transaction.type) je ne peux pas accéder au commentaire car les attributsMqlTradeTransaction n'ont pas de 'comment'
. Merci de votre aide.
La méthode closeby(ticket1, ticket2) du livre suppose que vous utilisez un compte de couverture et que vous avez déjà 2 positions ouvertes (achat et vente) avec les tickets ticket1 et ticket2. Je suppose qu'il est impossible (en général) d'exécuter l'action TRADE_ACTION_CLOSE_BY contre un ordre en attente. Mais si votre compte est en mode de compensation, je pense que vous pouvez simplement placer un ordre en attente dans la direction opposée et lorsqu'il se déclenche, il modifiera la position existante en conséquence - c'est-à-dire la fermer, ou la fermer partiellement, ou même l'inverser (si le nouveau volume est plus important que l'ancien).
Petits correctifs dans les websockets (à la carte et en masse).
L'une de ces propriétés est la "Commission" du Symbol qui diffère évidemment d'un courtier à l'autre comme on peut le voir dans l'image ci-jointe. Cependant, je n'ai pas été en mesure d'accéder à cette propriété de manière programmatique. Pouvez-vous m'aider en me donnant un indice sur la façon d'obtenir la commission du symbole ?
Par ailleurs, ce message apparaît souvent dans le journal lorsque je travaille avec PositionFilter, en particulier lorsque l'EA est chargé pour la première fois ou recompilé "Unresolved int value as enum : 8 for MonitorInterface<ENUM_POSITION_PROPERTY_INTEGER,ENUM_POSITION_PROPERTY_DOUBLE,ENUM_POSITION_PROPERTY_STRING>". Il fonctionne toujours correctement et n'arrête rien
@StanislavKorotky Merci pour la mise à jour continue, mais il y a quelque chose que j'ai du mal à comprendre. Sur le "Market Watch" du MT5, je peux faire un clic droit sur n'importe quel "symbole" et afficher toutes ses propriétés associées, comme je le ferais de manière programmatique en cliquant sur "Specification".
L'une de ces propriétés est la "commission" du symbole, qui diffère évidemment selon les courtiers, comme on peut le voir dans l'image ci-jointe. Cependant, je n'ai pas été en mesure d'accéder à cette propriété de manière programmatique. Pouvez-vous m'aider en me donnant un indice sur la façon d'obtenir la commission du symbole ?
Malheureusement, toutes les propriétés des entités du terminal ne sont pas accessibles via MQL5.
Par ailleurs, ce message apparaît souvent dans le journal lorsque je travaille avec PositionFilter, en particulier lorsque l'EA est chargé pour la première fois ou recompilé "Unresolved int value as enum : 8 for MonitorInterface<ENUM_POSITION_PROPERTY_INTEGER,ENUM_POSITION_PROPERTY_DOUBLE,ENUM_POSITION_PROPERTY_STRING>". Il fonctionne toujours correctement et n'arrête rien
Il s'agit simplement d'un avertissement causé par le fait que l'énumération intégrée correspondante de MQL5 présente une lacune dans les constantes qui sont normalement assignées consécutivement. Cette lacune est due au fait que MQL5 est en constante évolution et que certaines constantes peuvent devenir obsolètes et être éliminées. Vous pouvez éditer le code source pour éviter de tels avertissements.
Je joins une version mise à jour de la bibliothèque JSON - toyjson3.mqh - qui remplace toyjson2.mqh et toyjson.mqh du livre.
Cette version est optimisée pour le traitement d'énormes fichiers JSON. Pour des raisons de simplicité, les versions précédentes utilisent la fonction StringSplit pour la tokenisation du texte pendant l'analyse, et cet appel peut demander en interne des gigaoctets de mémoire libre en raison de la fragmentation et de l'anticipation du flux de données ultérieur. Elle est libérée après l'analyse, mais le gestionnaire de mémoire de MQL5 peut la garder réservée pendant un certain temps, car il libère les déchets de manière différée.
L'analyse syn taxique occupe désormais beaucoup moins de mémoire.
Je joins quelques corrections de bogues et améliorations dans les classes websockets.
C'est exactement ce dont j'avais besoin.
Merci beaucoup.
Vous êtes comme ce type pour moi.
https://clip.cafe/top-gun-maverick-2022/good-afternoon-ladies-gentlemen-s2/