Avec quoi remplacer OnTradeTransaction() dans mql4 ? - page 2

 
Ihor Herasko:

Et la disponibilité de la lumière et d'internet ? Sans parler de l'habituelle perte de paquets du réseau. Cool MetaQuotes sont devenus - ils garantissent tout ! ))

Igor, la solution à tout cela est simple ou très simple. Si les pannes de courant sont fréquentes, louez un VPS. Si de tels problèmes se produisent également sur le VPS, changez de fournisseur de services. Il en va de même pour la perte d'Internet de la part de l'utilisateur. Il est seulement possible d'ajouter une option permettant de changer de fournisseur d'accès à Internet. Si le problème se produit du côté du DC... vous savez comment et où les envoyer...
 
Ihor Herasko:

Et la disponibilité de la lumière et d'internet ? Sans parler de l'habituelle perte de paquets du réseau. Cool MetaQuotes sont devenus - ils garantissent tout ! ))

Peut-être n'avez-vous pas non plus d'ordinateur ?

 
Alexey Viktorov:
Igor, la solution à tout cela est simple ou très simple. Si les pannes de courant sont fréquentes, louez un VPS. Si de tels problèmes se produisent également sur le VPS, changez de fournisseur de services. Il en va de même pour la perte d'Internet de la part de l'utilisateur. Il est seulement possible d'ajouter une option permettant de changer de fournisseur d'accès à Internet. Si le problème se produit du côté du DC... vous savez comment et où les envoyer...

Et dire tout cela aux utilisateurs ordinaires qui travaillent avec des experts ? Les utilisateurs ne doivent pas se soucier de ces choses, sinon ces logiciels sont sans valeur.

 
prostotrader:

Peut-être n'avez-vous pas non plus d'ordinateur ?

Oui, sur internet je suis télépathe ;))

 
Ihor Herasko:

Oui, sur internet je suis télépathe ;))

Je vois, mais alors ne faites pas de déclarations vagues qui pourraient induire en erreur.

les membres de ce forum confus.

 
prostotrader:

Je vois, mais alors ne faites pas de déclarations vagues qui pourraient induire en erreur.

Les membres de ce forum sont trompeurs.

Cette affirmation est fausse

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

Comment remplacer OnTradeTransaction() dans mql4 ?

prostotrader, 2020.01.26 14:59

Vous êtes désespérément hors du coup !

Ces événements sont garantis depuis longtemps !


Miser sur l'absence de cliffhanger sur le VPS lors d'une transaction est un risque financier supplémentaire.

 
prostotrader:

Je vois, mais alors ne faites pas de déclarations vagues qui pourraient induire en erreur.

les membres de ce forum confus.

Il n'y a pas d'idées fausses. Si vous développez un logiciel, la première chose que l'on attend de lui est un fonctionnement correct et fiable. Si votre conseiller-expert n'utilise que OnTrade et OnTradeTransaction pour prendre en charge ses positions et ses ordres, la moindre défaillance dans la réception des informations en provenance de ces derniers faussera l'image globale (nous ne savons pas avec certitude si un paquet est perdu ou non par le serveur). La seule façon plus ou moins fiable de recueillir cette information est de parcourir en boucle la liste des postes/ordres. Même dans ce cas, si une perte de paquets se produit, elle ne peut être permanente. Au bout du compte (après deux ou trois requêtes), les données seront récupérées et l'image globale correspondra parfaitement à la réalité.

Cela dit, je ne prétends pas que l'utilisation de OnTrade() et OnTradeTransaction() est inutile. Ils peuvent être utilisés comme un canal alternatif pour obtenir des données. Si l'information est passée par ce canal, nous n'avons pas besoin de trop vérifier les listes.

 

J'écris du code portable. MT4/MT5 - grâce à MT4Orders.mqh de M. fxsaber. Et tester/combattre - grâce à la compilation conditionnelle.

Pour le testeur de stratégie, j'utilise OnTradeTransaction et le stockage de l'état de l'environnement dans des variables, ce qui accélère considérablement l'optimisation. Pour de vrai - le sondage du serveur, la vitesse ne compte pas ici.

 
Edgar Akhmadeev:

J'utilise OnTradeTransaction et le stockage de l'état de l'environnement dans des variables pour le testeur, ce qui accélère l'optimisation.

Je vous serais reconnaissant si vous pouviez fournir un exemple reproductible (sans interroger l'historique des transactions).

 

Si nous avons besoin d'une solution rapide, alors je placerais tous les tickets dansCArrayInt et je comparerais les tickets des ordres ouverts avec CArrayInt ; la méthode Search() est là ; s'il n'y a pas de ticket, on arrête de comparer CArrayIntavec les compteurs des ordres ouverts, réinitialiser CArrayInt et réécrire tous les tickets dans CArrayInt et activer le drapeau MyOnTradeTransaction décrit globalement - le signe que la liste des ordres a changé - le code sera assez compact