Que faudrait-il pour que tout le monde passe enfin à MT5 ? (collecte d'opinions) - page 43

 
xxz:

Je sais qu'il y a...
mais pourquoi ont-ils été écartés à l'époque ?
Ils pensaient que c'était la bonne chose à faire de créer un tableau, de le copier, d'en tirer ce dont vous avez besoin et de vérifier si tout était correct...
Alors pourquoi devrais-je le voir, IXXXX, faites ce que vous voulez dans les coulisses - créez, remplissez, copiez, vérifiez, et donnez-moi le résultat final, c'est une fonction banale, pourquoi l'imposer au consommateur final ?

La paresse est le moteur du progrès ! Mais les développeurs ne le savent apparemment pas !

C'est drôle. Lorsque vous recevez des données via iXXX dans Quartet, vous devez également vérifier ce que vous avez reçu. Et il n'y a aucune différence. Mais tout le monde, ou presque, qui ne pense pas à la qualité de ses propres codes, ne vérifie rien, et les données sont immédiatement envoyées au traitement.

Votre paresse atteint, désolé, le point de l'absurdité. Et à la mauvaise qualité et aux bugs dans vos programmes.

 
Dmitry Fedoseev:

Non, vous ne pouvez pas faire cela, cela réduirait les performances.

Eh bien... Il est logique de mettre à jour l'environnement avant de le recevoir. Et qu'est-ce qui va devenir Bid, Ask sans mise à jour de l'environnement ? Seulement l'offre et la demande de la dernière mise à jour. Utile dans certains cas, mais... Et cette mise à jour peut se faire n'importe où dans le programme et pas nécessairement au moment de la demande d'offre et de demande. Y a-t-il encore un sens pratique ? Je ne le vois pas encore. Pour un tel cas, nous devrions avoir BidPrevious() et AskPrevious(), et obtenir Bid et Ask avec une mise à jour forcée. Ou bien je ne vois pas d'autre endroit où l'on utilise les termes Bid et Ask ?

 
multiplicator:
Avez-vous vérifié ?

Au contraire, il est beaucoup plus rapide d'obtenir uniquement le jour de la semaine que d'obtenir l'ensemble de la structure de données.

Avez-vous vérifié ? Ou bien faites-vous à nouveau des déclarations vides de sens ? Vérifiez-le. Nous attendons le résultat.

 
Vitaly Muzichenko:

Parce qu'ils sont plus lourds, ce qui ralentit le terminal, et donc l'ensemble du système.

Alors bien sûr, ils les ont ajoutés, mais pour les "pro-gamers" comme vous...

tu m'étonnes !!! alors qui dit que c'est ma faute s'ils sont lourds ?))))

Dans les coulisses, pour obtenir 5 éléments, ils peuvent créer un tableau à 6 éléments où ils copieront et vérifieront tout ce dont vous avez besoin et sortiront exactement comme ils vous le font écrire, au lieu de tirer des tableaux annuels... Quel est le problème ?

 
Je me demande depuis longtemps pourquoi on ne fait pas ce genre de choses.
#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)


Et pourquoi personne ne fait comme des choses ?

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

Bibliothèques : MT4Orders

fxsaber, 2019.01.13 17:23

Les fonctions de Kim sous MT4 sont assez populaires, j'ai donc téléchargé toutes les sources de son site et j'ai écrit un simple "convertisseur" pour elles sous MT5.
#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

#include "e-Trailing.mq4" // http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=14

void OnTick() { start(); }

Pas dans le sens d'utiliser la bibliothèque de quelqu'un d'autre. Il suffit d'écrire votre propre mise en œuvre d'une transition MT5 rapide et productive lorsque tout ce que vous devez savoir est 90% MT4 et 10% MT5. Pourquoi ne pas le faire une fois pour vous-même et cesser de dépendre de l'environnement de trading du SB ?

Permettez-moi de préciser que je ne parle pas d'une bibliothèque multiplateforme, grâce à laquelle vous pouvez écrire le même code pour les deux plateformes. Mais une sorte de convertisseur, où une énorme archive de développements MT4 (comme les fonctions Kim) fonctionne dans MT5 sans être modifiée.

 
Artyom Trishkin:

Avez-vous vérifié ? Ou s'agit-il encore de déclarations vides de sens ? Regardez ça. Nous attendons le résultat.

C'est une déclaration de sa part. Demandez-lui de la vérifier.
 
Artyom Trishkin:

Eh bien... Il est logique de mettre à jour l'environnement avant de le recevoir. Que fera-t-il pour obtenir Bid, Ask sans mise à jour de l'environnement ? Seulement l'offre et la demande de la dernière mise à jour. Utile dans certains cas, mais... Et cette mise à jour peut se faire n'importe où dans le programme et pas nécessairement au moment de la demande d'offre et de demande. Y a-t-il encore un sens pratique ? Je ne le vois pas encore. Pour un tel cas, nous devrions avoir BidPrevious() et AskPrevious(), et obtenir Bid et Ask avec une mise à jour forcée. Ou peut-être ai-je manqué quelque chose d'autre où l'offre et la demande sont utilisées ?

SymbolInfoDouble(...,MODE_BID) - ne nécessite pas de mise à jour. Il est utilisé à différents endroits - partout, calcul des niveaux d'ordre, stoploss, takeprofit, trailing.

 
Artyom Trishkin:

Avez-vous vérifié ? Ou bien faites-vous à nouveau des déclarations vides de sens ? Regardez ça. Nous attendons le résultat.

Doutez-vous qu'il faille moins de temps pour obtenir huit éléments que pour en obtenir un ?

 
xxz:

Doutez-vous qu'il faille moins de temps pour obtenir 8 articles que pour en obtenir un ?

La vitesse et l'endroit d'où elle provient dépendent du développeur...

Je ne veux pas savoir...

 
Dmitry Fedoseev:

SymbolInfoDouble(...,MODE_BID) - ne doit pas être mis à jour.

Oui, mais SymbolInfoTick() est là - je parle de la classe, et de la façon dont elle est organisée pour obtenir Bid et Ask - juste les valeurs de retour des variables. Et l'écriture des données dans la structure se fait dans RefreshRates(). Je ne comprends pas pourquoi un appel forcé de RefreshRates() dans les méthodes Bid() et Ask() va tout ralentir ? Nous devons appeler RefreshRates() avant chaque appel des méthodes Bid() et Ask() avec vérification de son résultat. Pourquoi ne pas le mettre dans les méthodes en une seule fois et retourner soit un prix, soit 0.

Je constate que deux appels à RefreshRates() sont effectués lorsque l'on obtient l'offre et la demande en même temps. Alors, écrivez dans la méthode RefreshRates() en remplissant les variables avec les données sur l'offre et la demande.

Ou laissez-le tel quel.

Raison: