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

 
Igor Makanu:

Tout est dans les comptes d'en-tête.

à propos des béquilles attendues - j'ai 2021 ans, j'attends le logiciel le plus convivial, par exemple - le même Python, qui permet à l'utilisateur d'écrire son code de la manière la plus concise possible et d'obtenir un résultat prêt, donc il a rapidement "décollé" - les gens ne veulent pas écrire un long code pour leur propre auto-satisfaction, mais veulent dans le temps le plus court possible pour résoudre leurs "désirs

ZS : tu te souviens des orteils et des oreilles ? ... - Imaginez que l'on vous donne Win 111, tout va bien, mais maintenant la disposition du clavier doit être changée en appuyant sur le bouton d'alimentation du clavier, je comprends que les fanatiques soient tordus et fassent un pied de nez au bouton souhaité sur le clavier.

Ehhh. Il fut un temps où les gens jubilaient à propos de MT4, disant qu'il n'avait pas assez de contrôle, et que les développeurs avaient besoin de plus de contrôle et leur ont donné accès à partir de MQL. Une fois qu'ils leur ont donné, les choses sont devenues vraiment mauvaises pour eux. Bien que tous les contrôles et les attentes étaient auparavant cachés aux yeux des utilisateurs. Après tout, le ticket de position ouverte revient dans MT4. Cela suggère que toute la synchronisation avec l'environnement commercial est simplement cachée des yeux et des stylos coquins des utilisateurs :

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Les gens ont donc demandé l'accès à la boîte noire - ils l'ont obtenu.
Maintenant, vous devez faire la synchronisation vous-même. Demandé ? Demandé. L'ont-ils fait ? Ils l'ont fait. C'est bon ? Ils ont dit que ce serait bien. Après qu'il ait été donné - il est devenu mauvais.

Dévoilons tout ce qui a été caché dans les fonctions standard de MQL4 et voyons si c'est vraiment si simple, et si tout a été mis en œuvre par deux lignes de code magiques ? Je ne pense pas...

Par conséquent, la comparaison est tout à fait incorrecte. Si vous développez le code MQL de tout ce qui se trouve à l'intérieur des fonctions de trading standard dans MT4, et que vous comparez les volumes de code, ayant d'abord porté ce que vous voyez dans la boîte noire vers MT5. Alors la comparaison sera correcte.

C'est ce qu'on appelle des béquilles et autres pour MT5, et "hé, quel beau MT4 sympathique et excitable" - comparer correctement les volumes de code et la logique. Un seul endroit est une boîte noire, l'autre est sa propre mise en œuvre (comme demandé, vous vous souvenez ?).

En ce qui concerne la complexité, je suis d'accord. Oui, c'est devenu plus compliqué et plus codé à écrire. Mais comme vous l'avez lu ci-dessus - vous avez demandé et ri que "MQL4 est pour les femmes au foyer, mais nous avons grandi d'eux et veulent être sérieux" ...

Eh bien, maintenant ça devient sérieux.

 
Igor Makanu:

tout est dans les comptes d'en-tête.

à propos des béquilles attendues - j'ai 2021 ans, j'attends le logiciel le plus convivial, par exemple - le même Python, qui permet à l'utilisateur d'écrire son code de la manière la plus concise possible et d'obtenir un résultat prêt, donc il a rapidement "décollé" - les gens ne veulent pas écrire un long code pour leur propre auto-satisfaction, mais veulent dans le temps le plus court possible pour résoudre leurs "désirs

ZS : tu te souviens des orteils et des oreilles? ... - Imaginez que vous avez été donné un Win 111, donc tout est grand, mais la disposition du clavier maintenant besoin de passer en appuyant sur le bouton d'alimentation du système, je comprends que sont particulièrement fanatique twist et va pouce leurs pieds pour appuyer sur le bouton sacré sur le système

Vu l'accent mis, je pense que c'est moi qui suis visé.

Moi aussi, je parle des comptes de couverture. Je ne suis pas du tout contre l'accélération, mais si la vitesse d'internet ne correspond pas à la vitesse du CPU, alors de quelle accélération pouvons-nous parler ? Vous réalisez que l'ouverture d'une position a lieu sur le serveur, et il n'est pas certain que l'ouverture doive être sans erreur. Et la vitesse de réponse à OrderSend() dépend directement de la vitesse de l'Internet... Donc, MT4 a tout dedans, tant qu'une réponse n'est pas reçue du serveur, la continuation ne se fera pas. Et ce n'est qu'après avoir reçu un numéro de ticket ou d'erreur que tout sera connu. Et cet ordre est fixé pour tous. Par conséquent, la vitesse d'exécution n'est pas à un niveau élevé.

Maintenant, MT5 a une tactique différente ... Le programmeur doit vérifier s'il a été exécuté ou non ... si vous voulez, vous devez vérifier, mais si vous ne voulez pas, vous obtiendrez une vitesse accrue. Mais vous, pour une raison quelconque, ne voulez pas comprendre cela et n'aimez pas devoir vérifier et, au lieu de vérifier, vous essayez de trouver un délai.

Quel est le rapport avec le reptilianisme ? Écrire un logiciel convivial en MQL5, alors que Python n'a pas été créé pour être écrit dedans et jeter MQL5... C'est ce que je pense.

 

J'ai personnellement participé cent cinquante fois, il n'y a rien pour me convaincre, je connais les avantages de chaque plateforme depuis longtemps.

Je ne m'intéresse pas à sa mise en œuvre :

positions ouvertes sur un compte vide à la fin de l'exécution du script. Il est possible de fermer certaines positions à partir de n'importe quel terminal pendant l'exécution du script. Cette "intervention" n'est nécessaire que pour éviter les décisions stupides.

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

Le grand et le terrible MT4 pour toujours (ou comment construire une stratégie de migration intelligente)

fxsaber, 2021.05.08 18:54

Je dois écrire un script sur MT5 qui ouvre 100 positions sur un compte vide.


Sur MT4, je l'ai résolu de cette façon.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Qui a une solution sur MT5 ?



 
Igor Makanu:

J'ai personnellement participé cent cinquante fois, il n'y a rien pour me convaincre, je connais les avantages de chaque plateforme depuis longtemps.

Je m'intéresse à la réalisation du sujet :

Vous savez à quoi sert cette suggestion :

Je dois écrire un script sur un MT5 qui ouvre 100 positions sur un compte vide.

Sur MT4, je l'ai résolu de cette façon.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

Qui a la solution sur MT5 ?

Si je voulais montrer à quel point MQL5 est dégoûtant (parce que je dois y écrire ce qui est déjà écrit dans MQL4 à l'intérieur de OrderSend())

Ainsi, les nouveaux ignorants qui ne comprennent pas l'essence de la simplicité de MQL4 diront à quel point MQL5 est mauvais - au lieu de deux lignes de code [1. je veux une position ouverte 100 fois. 2. bon - maintien], ils devront écrire leurs propres contrôles après chaque "je veux" et avant "bon - maintien", cachés à l'utilisateur dans le premier cas, et développés en code MQL dans le second. C'est de la manipulation de la plus pure espèce.

Il est probable qu'en raison de l'ambiguïté de la question, personne ne prendra de décision publique dans ce fil de discussion - beaucoup de gens comprennent l'objectif de ce trash-talk - montrer le MQL4 parfait et heureux et le MQL5 compliqué. Je serai heureux d'avoir tort. Mais la formulation de la question en dit long.

 
Artyom Trishkin:

Dévoilons tout ce qui se cache dans les fonctions standard de MQL4 et voyons si c'est aussi simple que cela, et si tout cela se fait avec deux lignes de code magiques. Je ne pense pas...

Vous ne pouvez pas avoir une situation comme dans MT5 sur le plan architectural. Pas à l'extérieur, mais à l'intérieur. Comme il n'y a pas de notion MT5 d'ordre/de transaction/de position à l'intérieur (pas ce que vous voyez à l'extérieur). En d'autres termes, l'intérieur de MT4 est beaucoup plus simple que les entrailles de MT5.

Les doubles entrées ne sont pas une préoccupation de MT5, mais un bug architectural où les fonctions Total() montrent des faux positifs. Et lorsqu'un ordre ouvrant une position (entièrement rempli) est placé avec sa position. En somme, seules les béquilles résolvent tout. Et il semble que toutes les béquilles soient désormais disponibles dans leur intégralité.

 

Artyom Trishkin:

... C'est de la manipulation pure et simple.

Je ne comprends pas les raisons...

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

Comment utiliser MT4 pour de bon (ou comment créer une stratégie de migration)

Alexey Viktorov, 2021.05.09 09:15

Si vous n'êtes pas sûr de la stratégie correcte que vous avez créée pour MQL5 et MQL4, vous avez un effet négatif, n'est-ce pas ? Si je me connecte à mon compte depuis une autre société et que je place quelques ordres en attente, qu'est-ce que MQL4 ouvrira ?

Vous voulez vous planter sans aucun contrôle ? Prônez-vous la permissivité dans la programmation, ou essayez-vous simplement de calomnier MQL5 pour lesintérêts égoïstes de quelqu'un ?

Écrire la même chose en mql4 avec des vérifications et des contrôles infaillibles.


 
Artyom Trishkin:

Sais-tu à quoi sert cette phrase : ....

Pour montrer à tous les ignorants à quel point le MQL5 est dégoûtant.

C'est de la spéculation, le problème doit être résolu, si nous essayons de penser comme des personnes techniquement compétentes.

J'ai essayé 5 fois de résoudre ce problème jusqu'à ce que je trouve le moyen de le faire de manière optimale.

 

fxsaber:

...Et il semble que toutes les béquilles soient désormais disponibles.

Ne vous cassez pas la tête avec ces béquilles.

 
Artyom Trishkin:

Pour montrer à tous les ignorants à quel point MQL5 est dégoûtant (parce que vous devez y écrire ce qui est déjà écrit dans OrderSend() en MQL4)

Il ne s'agit pas de brièveté. Utilisez votre bibliothèque commerciale publique pour rédiger une solution au problème. Je demandais une solution, je ne l'évaluais pas.

Le fait est que le problème élémentaire n'a pas encore été résolu sur MT5. Et je ne me soucie pas de la longueur du code.


Puisqu'il y a des gens ici qui ont leurs propres bibliothèques de métiers, ne peuvent-ils pas utiliser leurs solutions toutes faites pour écrire une formulation aussi simple du script ?

 
Igor Makanu:

J'ai abordé ce problème cinq fois jusqu'à ce que je trouve une solution optimale.

Je n'ai pas encore essayé le style MT4 moi-même. Théoriquement, cela devrait fonctionner. Je n'ai pas encore eu l'occasion de le regarder.