La grande et terrible MT4 pour toujours (ou comment organiser une transition) - page 6

 
Alexey Viktorov:

Eh bien, si ce n'est pas un examen, c'est un test décisif. Faites attention à la propriété de position POSITION_IDENTIFIER

...et vous n'aurez pas à faire des boucles inutiles. Une position fermée sur un compte Hadge comporte toujours deux transactions... sous l'indice 0 à l'ouverture et sous l'indice 1 à la fermeture, sauf si vous avez effectué une fermeture partielle.

Les fermetures partielles sont rares, mais je les utilise et le filet est utilisé. C'est pourquoi je l'ai rendu universel en une seule fois. Est-il exact de dire qu'il ne peut y avoir que deux transactions pour les positions de couverture ? Comme dans le cas du netting, la société de courtage ne peut pas fermer partiellement ou en partie selon la politique d'exécution ?
 
Igor Makanu:

C'est le prix à payer pour la vitesse de MT5 - tous les ordres de transaction sont asynchrones, c'est-à-dire que MQL5 n'attend pas la réponse du serveur, mais continue son travail.

Dans MT4, tous les ordres de transaction reçoivent une réponse synchrone du serveur.


vous devez vous demander ce qu'il faut faire et non pas pourquoi.

- soit traiter la clôture de l'ordre au prochain tick (soit en boucle, soit en pause... ou ici cela dépend du TS)

- ou le processusOnTradeTransaction

J'ai fait la transition d'un quatre à quatre.) Et ces différences, jusqu'à ce que vous les rencontriez, les ressentiez, les dépassiez et créaient une impression de complexité. Donc, oui, j'ai trouvé des solutions plus tard dans la branche "Particularités du langage mql5". Il est clair que lorsque votre propre bibliothèque sera prête, MT5 ne vous semblera pas si encombrante.
 
Vasiliy Pushkaryov:
...A propos des Hedge-positions, est-il exact qu'il ne peut y avoir que deux transactions ? Le DC ne peut-il pas fermer partiellement ou en partie comme dans la compensation, selon la politique d'exécution ?

HistoryDealsTotal() fonctionne toujours et est toujours plus rapide que de parcourir l'historique de tous les ordres et transactions.

 
Alexey Viktorov:

HistoryDealsTotal() fonctionne toujours et est toujours plus rapide que de parcourir l'historique de tous les ordres et transactions.

C'est ce que je fais, je contrôle les ID de position et les utilise ensuite pour l'échantillonnage. Je n'ai simplement pas rencontré d'informations indiquant qu'une position dans une couverture n'a toujours que deux transactions, à moins que la clôture partielle ne soit utilisée.
 

Pour passer à MT5, vous devez l'acheter.

La question est alors de savoir pourquoi, alors que vous avez déjà acheté MT4 ?

Il n'y a donc qu'une seule solution : une mise à niveau moins chère ou la gratuité.

Et le trader sera alors confronté au fait qu'il n'existe que MT5 et c'est tout.

 
Je n'ai pas vu de solution MT5 fonctionnelle pour les cas suivants

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Caractéristiques du langage mql5, conseils et astuces

fxsaber, 2018.02.15 11:48

Je vous suggère d'essayer d'écrire un script en MQL5 avec ce type de logique de trading (style MQL4 juste pour un affichage rapide).

void OnStart()
{
  OrderCloseBy(OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0), OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0));
}

Ce n'est pas facile du tout.

Et il y a des situations beaucoup plus subtiles... Si un courtier propose un MT4/5, toutes choses égales par ailleurs, le choix est toujours clair.

 
Vasiliy Pushkaryov:
C'est ce que je fais, je contrôle les ID de position et je les échantillonne ensuite. Je n'ai simplement pas vu d'informations indiquant qu'une position dans un hedge n'a toujours que deux transactions, à moins que la clôture partielle ne soit utilisée.

Vous voulez un manuel pour chaque petite chose ?

 
fxsaber:
Je n'ai pas vu de solutions MT5 fonctionnelles pour le site
.

Et il y a des situations beaucoup plus subtiles... si un courtier fournit MT4/5, toutes choses étant égales par ailleurs, le choix est toujours clair.

Et vous ne le ferez jamais, pour la simple raison que la fermeture partielle, ou la fermeture avec une contre-position, va avec le ticket de la position, et l'ouverture d'une position ne retourne pas le ticket. Et de toute façon ... pourquoi de telles perversions ? Probablement, c'est à partir de cette série comment fermer les positions et supprimer les ordres en attente avec un cycle...
 
Alexey Viktorov:

Vous voulez un manuel pour chaque petite chose ?

Bien sûr que oui. Je ne pense pas être le seul.
Obtenir un bénéfice partiel ou total alors que je comptais sur des informations concernant un bénéfice total n'est pas une mince affaire pour moi. Vous pouvez perdre beaucoup d'argent en passant par la voie de l'expérience.

Donc, plus l'aide est détaillée, mieux c'est.

 
Alexey Viktorov:
Et vous ne le rencontrerez jamais pour la simple raison qu'une clôture partielle, ou une clôture de contre-position va sur un ticket de position, et que l'ouverture d'une position ne renvoie pas de ticket. Et de toute façon... pourquoi une telle perversion ?

lisibilité du code. Dans MQL4, ce qui se passe est immédiatement clair.

Raison: