Ce que j'aimerais obtenir du "terminal" en tant que programmeur professionnel. Un autre fil de discussion avec des souhaits pour MQL5. - page 8

 
Cependant, if() par n'importe quel JMP - inconditionnel ou conditionnel branche toujours + while/for
 
Lors de l'entretien avec les développeurs de MQL5, il a été dit que l'interpréteur compilera désormais dans le code de la plate-forme x86 au lieu du byte-code de l'interpréteur. Il est donc possible de désassembler et de voir l'API pour travailler avec le terminal. Des bibliothèques peuvent même être écrites sur cette base, même en VC++.
 

Il serait très pratique de double-cliquer sur une position dans les résultats du testeur pour passer à un événement sur le graphique.

Entre-temps, il est fatigant de devoir chercher ce moment à la main.

 
majestic >> :

Il serait très pratique de double-cliquer sur la position dans les résultats du testeur pour accéder à l'événement sur le graphique.

En attendant, vous devez utiliser vos mains pour trouver le moment - c'est stressant.

Ce qui est déjà là ne convient-il pas ?

 

MProgrammer, pourquoi avez-vous besoin d'un module dotnet qui dessine des graphiques ? De plus, quel intérêt pour MQ de donner gratuitement un tel module de cartes aux programmeurs tiers.

N'est-il pas possible maintenant de donner nos données calculées à partir de C# que nous devons afficher sur un graphique à travers un simple fichier avec chargement et affichage des objets à l'aide du script ou de l'indicateur, écrit en MQL4 ? C'est-à-dire programme C# >> données >> fichier >> script, indicateur ou accès synchrone par EA.

Si vous souhaitez créer un conseiller expert en C# ou dans tout autre langage de programmation auquel vous êtes habitué, vous pouvez créer une chaîne de connexion avec MT, comme suit


pour le conseiller expert :

MQL4 Expert Advisor >> Dll >> sync socket >> Programme C# (travail avec les guillemets) >> (résultats) >> sync socket >> Dll >> MQL4 Expert Advisor (affichage des objets du graphique, positions d'ouverture et de fermeture)


pour votre optimiseur ou votre testeur :

Script MQL4 >> Dll >> sync socket >> programme C# (travail avec des guillemets, exécutions multiples) >> (résultats) >> sync socket >> Dll >> MQL4 Expert Advisor (affichage des objets du graphique et des positions de l'exécution comme après le testeur)


Avantages de cette approche :

- Vous pouvez développer un programme dans le langage et l'environnement auxquels vous êtes habitué, car tous les langages de niveau supérieur prennent en charge la gestion des sockets.

- Il est possible de déboguer le programme de la stratégie.

- Vous pouvez créer vos propres optimiseurs, dont la puissance de calcul est répartie entre les processeurs (plusieurs threads) et même les ordinateurs du réseau.

(la distribution représente bien sûr beaucoup de travail, mais la vitesse d'optimisation sera augmentée de plusieurs fois). Par exemple, si vous exécutez l'optimiseur sur l'ordinateur de bureau à la maison, une partie de l'exécution sera transmise à l'ordinateur portable sur le réseau local, ainsi qu'à l'ordinateur de votre ami et peut-être même à l'ordinateur au travail, où votre module d'optimisation est également exécuté (utilisation non autorisée de la capacité du bureau à des fins personnelles :))).


Cons :

- Dans MQL4, le transfert de données vers Dll n'est pas implémenté de manière pratique. C'est-à-dire que les structures et les tableaux de structures ne peuvent pas être transmis que des tableaux de doubles, mais dans MQL5 ce problème a été promis.

Bien que, en tenant compte du fait que msvc++ est plus rapide à travailler avec les doubles qu'avec les autres types de données, l'approche existante est probablement encore meilleure, bien que moins pratique.

- Je vais devoir créer un module de connexion et le déboguer (mais pour un programmeur professionnel, ce n'est pas un problème - c'est plus facile que de créer ses propres graphiques, comme l'a dit l'auteur de ce fil).


Le module de communication que je veux implémenter moi-même sur un socket pour dot.net et java. J'ai le module similaire en Delphi et WM_COPYDATA utilisant - il fonctionne bien et est utilisé dans le programme lié avec MT et le trading sur le compte réel.

À propos, j'ai récemment effectué quelques tests avec des nombres réels et entiers en Java et C++.

En général, si vous utilisez la machine java en mode -server, à partir de la deuxième ou troisième exécution, la vitesse du test java de travail avec des entiers dépasse le programme MSVC++.

Avec des types de données doubles, msvs++ surpasse java, mais si vous utilisez des types de données flottantes, java prend l'avantage. Il y a donc une optimisation dynamique du programme java au moment de l'exécution.

Je ne suis pas testé sur C#, mais je suis déçu par delphi - il est à la traîne derrière C++ et Java dans les tests de vitesse. Même si c'est en travaillant avec de nombreux petits objets (trier, déplacer, supprimer, créer) que Delphi se montre sous son meilleur jour.

 

Chers amis, laissez-moi vous dire quelques mots sur GOTO.

Toute cette histoire a commencé bien avant l'apparition des ordinateurs personnels, même les plus anciens, dont certains se souviennent avec nostalgie.

"En 68 la situation a été complètement explosée par le fameux article de Dijkstra "About goto operator's harmfulness", et c'était à l'époque où pas un seul programme ne pouvait se passer de l'opérateur goto. Il s'est avéré que la compétence du programmeur est inversement proportionnelle au nombre d'opérateurs goto qu'il utilise dans son programme. Ce fut un choc révolutionnaire non seulement dans le domaine de la programmation, mais aussi dans la méthodologie de la programmation en général.

Ensuite, il y a eu un certain nombre d'articles sur la programmation structurelle, où il a été démontré que n'importe quel programme pouvait être dessiné sans GOTO, en utilisant 3 structures de base : séquence, branchement et boucle. Quelque part, j'ai même le livre de Hoare "Structured Programming" qui traîne. Je ne me souviens pas exactement, peut-être que le deuxième auteur était Wirth.

"En 1969, le langage Pascal est apparu, qui était une pure implémentation des idées de Dijkstra.

"Alors, peut-on ou non utiliser l'opérateur goto ? En 1974 paraît l'article de Knuth "Structured programming with goto operator".

Et ainsi de suite.

En bref, la discussion s'est arrêtée il y a longtemps ; l'utilisation de goto est découragée, et toutes sortes de break, contunue, exit, halt, hande hoch et autres substituts de GOTO sont apparus, bien que de nombreux langages utilisent encore goto. Je pense que les développeurs de MQL sont familiers avec cette histoire, c'est pourquoi il n'y a pas de GOTO dans MQL5. Il est clair qu'ils cachent leurs motivations par tradition. :-)

 

à Dedushka
n'importe qui peutfaire honte et reprocher à un programmeur,
Surtout quelqu'un qui ne connaît pas la couleur de la couverture du
"Programmation structurée" et ne sait pas que son auteur est Iodan (Iordan)
Oui, vous avez des dates de battement de GOTO ajustées à l'atterrissage des Américains sur la lune, mais pourquoi ?
Par ailleurs, vous n'êtes pas au courant des événements qui ont suivi la sortie de C#, et pourquoi ?
Une dernière chose : à l'époque de Dijkstra, le nombre de GOTO dans les programmes atteignait 50%)))),
mais pour une raison très différente de la qualification.
Pour être plus clair, c'est comme si quelqu'un disait que la performance d'un grand-père devait être jugée en fonction du nombre de petites réparations.
- moins il y a de réparations, plus le grand-père est qualifié.

et pour que le grand-père travaille mieux, il faut lui retirer ses outils.

 
Korey писал(а) >>

à Dedushka
Tout le monde peutfaire honte et reprocher à un programmeur,
Surtout quelqu'un qui ne sait pas de quelle couleur est la couverture de
"Programmation structurée" et ne sait pas que son auteur est Iodan (Iordan)
Oui, vous avez des dates de battement de GOTO ajustées à l'atterrissage des Américains sur la lune, mais pourquoi ?
Par ailleurs, vous n'êtes pas au courant des événements qui ont suivi la sortie de C#, et pourquoi ?
Une dernière chose : à l'époque de Dijkstra, le nombre de GOTO dans les programmes atteignait 50%)))),
mais pour une raison très différente de la qualification.
Pour être plus clair, c'est comme si quelqu'un disait que la performance d'un grand-père devait être jugée en fonction du nombre de petites réparations.
- moins il y a de réparations, plus le grand-père est qualifié.

et pour que le grand-père travaille mieux, enlevez-lui les outils.

Cher Korey, j'ai relu mon message plusieurs fois, juste au cas où... Par Dieu, je ne vois aucune allusion à une tentative de reprocher ou de faire honte à qui que ce soit.

Je n'y pensais même pas, c'est juste que j'ai appris à connaître le sujet de la discussion il y a environ 30 ans... Et comme un gentil grand-père a décidé de me dire d'où ça vient. :-)

À propos de la "programmation structurelle" - oui, il existe un tel livre épais en livre de poche jaune, ouvrage classique : W. W. Dahl, E. Dijkstra et K. Hoare, "Structured Programming", Moscou, Mir, 1975.

Et enfin, je parle de l'ancien temps, tous mes livres datent du siècle dernier, et je suis vraiment "déconnecté des événements qui ont suivi la sortie de C#", car je ne suis plus un programmeur pratiquant depuis longtemps. Je travaille juste comme gardien dans une petite entreprise :-). Mais je m'intéresse à MQL5, et il semble que j'aie besoin de me détendre et de sortir de mon hibernation - j'ai beaucoup de choses à programmer, et je n'ai personne pour m'aider. Je suis donc venu sur ce forum en espérant obtenir de l'aide de, comme vous, ma chère... S'il te plaît, ne jure pas, je n'aime pas ça...

 

à Dedushka

1. en regardant votre avatar, je vois une poitrine de marin comme un marin et le surnom "Grandpa" - oui, cela signifie mécanicien de navire, le chef mécanicien est allé à la bourse.
2. le niveau de "jurons" sur le forum est acceptable, le commerce est une identité, et on ne peut pas commercer sans identité))))
2) le niveau de "jurons" sur le forum est acceptable. le commerce est une forme d'autosuffisance sans intérêt personnel, pas moyen de faire du commerce sans intérêt personnel.
3. que vous vouliez personnellement jurer ou non, vous avez déjà juré, d'autant plus que MQL4 en tant que langage et en tant qu'environnement est mauvais = ))))
Il se trouve juste que vous rejoignez les honteux pour "opérateur de quatre lettres".
Vous avez également honte de ne pas comprendre la pensée profonde des créateurs MQL)))).
- Si vous vous souvenez de la forme des trous des porte-poinçons, vous comprendrez vite le prix des MQL et MT-4.
4. goto se fait titiller comme une mamelle avec des piments et sous forme de honte dans l'inintelligence, c'est-à-dire la misère mentale présumée, et la honte.
pour la preuve, lisez aussi ce fil de discussion))
= a enlevé l'opérateur goto aux programmeurs, supposément pour les laisser sauter autour maintenant.
5.
Cependant, sur le sujet :
le mot honteux goto ne peut pas être utilisé, mais le SRAM lui-même et son opérateur goto - mot honteux - DOIVENT

 

Il devrait, il devrait être - juste pour le bien de l'art. Il existe des situations où goto est le seul moyen de coder de manière brève et élégante.

Raison: