Questions des débutants MQL5 MT5 MetaTrader 5 - page 59

 
A100:
Dans certaines plateformes, il est possible de lier 1 (parfois 2) ordres CCA. Dans MT4/5, j'implémente par programme une chaîne d'ordres liés (parfois assez complexe) et je trouve cette option plus pratique.
Que l'exécution sur un serveur, par exemple ?
 
Silent:
Que l'exécution du serveur, par exemple ?

Il y a moins de flexibilité et pas nécessairement plus de fiabilité dans l'exécution des serveurs.

Il n'y a pas d'alternative à l'exécution sur serveur uniquement entre l'heure de cotation et l'heure de négociation.

 
A100:

Il n'y a pas d'alternative à l'exécution sur serveur uniquement entre l'heure de cotation et l'heure de négociation.

...et quand votre internet est en panne.

Bien sûr, il n'est pas difficile (et pas cher) de fournir un PC stable, mais les solutions côté client ne peuvent pas concurrencer l'exécution sur serveur.

Je crois savoir que les courtiers ne veulent pas assumer la responsabilité de l'exécution et que les MK les soutiennent.

 
Yedelkin:

La question se résume donc à savoir comment supprimer un ordre en attente qui n'est pas un ordre SL ou TP lorsque certains événements se produisent (en particulier, lorsqu'un ordre TP se déclenche sur une position ouverte).

Actuellement, un tel ordre en attente ne peut être supprimé obligatoirement qu'en envoyant la demande "Supprimer l'ordre en attente" correspondante. Nous devons donc surveiller du côté du terminal l'occurrence de certains événements et envoyer une requête. Mais contrairement à votre variante, il n'y a que deux champs à spécifier dans la requête, dont l'un est request.l'ordre.

Dans la situation que vous mentionnez, les ordres OCO ("One Cansels Other(s)") seraient utiles : au niveau TP, un ordre serait placé avec un volume égal à la position ouverte, au niveau SL, un ordre avec le volume nécessaire pour "inverser" la position serait placé. Si l'un de ces ordres OCO se déclenchait, le second serait automatiquement supprimé du côté du serveur. Cependant, au cours de l'existence de ce forum, les développeurs de la plateforme ont refusé catégoriquement de mettre en œuvre tout type d'ordre supplémentaire, y compris les ordres OCO.

Merci pour les recommandations. Dans mon cas, j'ai décidé que la chose la plus simple à faire était d'utiliser le temps d'expiration de l'ordre :

.........
request.type_time =ORDER_TIME_DAY; 
........
Il n'est pas clair comment fixer une limite de temps de 2 jours ?
 
Crucian:
Il n'est pas clair comment définir un délai d'expiration de 2 jours ?

date d'expiration;

Ajouter 2 jours ou 60*60*24*2 secondes à la date actuelle

 
komposter: ...et quand votre internet est en panne. ... les solutions côté client ne peuvent pas concurrencer l'exécution côté serveur.
N'enlevez pas les illusions de vos collègues :)
 
Crucian: Dans mon cas, j'ai décidé que la chose la plus simple à faire était d'utiliser la date d'expiration de l'ordre... Il n'est pas clair comment fixer la date d'expiration à 2 jours ?
request.type_time =ORDER_TIME_SPECIFIED;     // есть ещё ORDER_TIME_SPECIFIED_DAY - там, наверное, всё по аналогии
request.expiration=TimeTradeServer()+172800; // 172800 - количество секунд за период в два дня, TimeTradeServer() - момент оформления запроса
 

Comment puis-je afficher le texte au-dessus des transactions sur le graphique du testeur après le test ? Ou, de manière générale, comment faire en sorte que le graphique du testeur affiche des objets supplémentaires après le test ?

J'ai essayé de les insérer dans la fonction OnDeinit(), mais rien ne s'affiche.

 
ANG3110:

Comment puis-je afficher le texte au-dessus des transactions sur le graphique du testeur après le test ? Ou, de manière générale, comment faire en sorte que le graphique du testeur affiche des objets supplémentaires après le test ?

J'ai essayé de les insérer dans la fonction OnDeinit(), mais rien ne s'affiche.

Une fois le test terminé, allez dans l'onglet Résultats, faites un clic droit et sélectionnez Ouvrir le graphique dans le menu contextuel. Un graphique avec toutes les transactions s'ouvre et vous pouvez y créer n'importe quel objet et appliquer n'importe quel indicateur pour l'analyse.
 

tol64:
После того, как тест завершён перейдите на вкладку Результаты, нажмите правую кнопку и в контекстном меню выберите Открыть график. Откроется график со всеми сделками и на нём можно создавать любые объекты и применять для анализа любые индикаторы.

Dans mon MT4, après le test, le bénéfice d'une transaction et le solde et, si nécessaire, d'autres éléments étaient signés en même temps sur le graphique de sortie. Tout cela a été fait simplement en insérant un include supplémentaire dans deinit() de l'EA. Il est possible de sortir quelque chose sous forme de texte par le biais de OnDeinit dans MT5, ou cela est désactivé ici aussi et c'est juste une autre tricherie pour la commodité des développeurs au détriment de l'utilisateur ?