Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 931

 
Seric29:

De tels échecs se produisent-ils ?

Je ne sais pas, je n'en ai jamais eu, tout au plus si le terminal se bloque lors de la compilation de l'Expert Advisor - s'il y a une erreur dans le code, cela s'est produit

Tout dépend de votre compréhension de la façon dont tout cela "fonctionne" :

1. MT4 est un système 32 bits, le système d'exploitation ne peut pas lui allouer plus de 3 Go de mémoire, si vous définissez un nombre maximum de barres sur le graphique, vous pouvez éventuellement consommer toute la mémoire, pour le trading de l'expert, un petit nombre de barres est suffisant, je n'ai mis que 1000 barres (vous pouvez en mettre moins).

2) Vous devriez installer un terminal séparé pour l'ATS et non pas le fourrer là !

3. ne faites pas de coloration des graphiques, l'EA ne s'en préoccupe pas vraiment, mais cela consomme des ressources, la coloration (objets graphiques,indicateurs personnalisés) peut être faite dans le second terminal et vous pouvez simplement y aller si cela vous démange.

Selon moi, le principe du minimalisme raisonnable et du "ne touchez pas à l'œuvre !

 
Igor Makanu:

Je ne sais pas, je ne l'ai jamais eu, tout au plus si le terminal se bloque pendant la compilation de l'Expert Advisor - s'il y avait une erreur dans le code, cela se produisait

La seule chose qui serait arrivée, c'est de comprendre comment tout a "tourné" :

1. MT4 est en 32 bits, le système d'exploitation ne peut pas lui allouer plus de 3 Go de mémoire, si vous définissez un nombre maximum de barres sur le graphique, vous pouvez engloutir toute la mémoire, pour le trading de l'expert un petit nombre de barres est suffisant, j'ai mis les 1000 barres (vous pouvez aller plus petit)

2) Vous devriez installer un terminal séparé pour l'ATS et non pas le fourrer là !

3. ne faites pas de coloriage des graphiques, EA ne s'en soucie pas vraiment, mais cela consomme des ressources, le coloriage peut être fait dans le second terminal et vous pouvez simplement y aller si cela vous démange de le faire.

Selon moi, le principe du minimalisme raisonnable et du "ne touchez pas à l'œuvre !

Je ne l'ai jamais eu, je ne trade pas de robot, mais il se bloque souvent à la compilation, je regarde souvent comment il réagit quand je reçois des ticks sur 5 min. pour torturer le robot, le terminal se bloque à mort mais dans ce cas le robot lui-même devrait fonctionner correctement et il ne se bloquera pas comme vous l'avez écrit. De plus, la fonction Deinit renvoie des erreurs, telles que paramètres modifiés : elle a déclenché, robot supprimé : elle a déclenché, terminal fermé : elle a de nouveau déclenché. La seule chose que vous pouvez faire est d'écrire un programme qui gardera la trace de l'activité du robot sur le graphique ou non.

 
Seric29:

Vous devez utiliser et programmer le code de manière compétente, comme vous l'avez écrit.

Si vous ne savez pas comment utiliser ces indicateurs, vous pouvez essayer de les deviner, mais si vous ne savez pas comment résoudre le problème, vous pouvez essayer de les éviter, si vous ne savez pas comment le résoudre, et si vous ne savez pas comment le résoudre, vous pouvez essayer de les éviter, mais si vous ne connaissez pas le problème, vous risquez de vous embrouiller. Si vous avez une bonne connexion avec le MetaTrader 5 cela peut être difficile, à cause des interruptions de connexion, le terminal commencera à synchroniser l'historique et tous les indicateurs utilisés recalculeront tout l'historique, mais cinq si vous avez 1000 barres rien ne se passera, MT4 est un terminal très puissant, je l'ai testé plusieurs fois, à partir de MT5 il est 4-5 fois plus lent que MT5, et la performance de MT5 est environ C + +.

En d'autres termes, les développeurs ont créé un terminal de grande qualité et, souvent, ce n'est pas MT qui compte, mais les personnes qui l'utilisent.)

 
Seric29:

Je ne l'ai pas eu non plus, bien que je ne trade pas le robot, mais il se bloque souvent en compilant je vois souvent comment il réagit quand un tick est reçu à 5 minutes pour torturer le robot, le terminal avait l'habitude de se bloquer à mort mais dans ce cas le robot lui-même devrait fonctionner correctement et il ne se bloquera pas comme vous l'avez écrit. De plus, la fonction Deinit renvoie des erreurs, telles que paramètres modifiés : elle a déclenché, robot supprimé : elle a déclenché, terminal fermé : elle a de nouveau déclenché. La seule chose que vous pouvez faire est d'écrire un programme qui gardera la trace de l'activité du robot sur le graphique ou non.

Il faudrait que je vérifie le programme pour m'assurer qu'il fonctionne. Vous ne pouvez pas avoir de pitié...

 
Seric29:

Avez-vous connu des défaillances telles que vos réglages se sont envolés, ou le robot lui-même s'est-il envolé à cause d'un dysfonctionnement du terminal ?

Oui, j'ai eu toutes sortes de choses. C'est juste que quand la pâte est chargée, il faut réagir vite... Je chargerais le profil avec tous ces éléments, mais sans charger successivement les ensembles après les robots sur le TS. Oui, il semble que cela fonctionne, lorsque vous chargez le profil, il se charge avec tous les paramètres du robot. Je ne l'ai pas encore testé.

Lorsque vous recompilez un robot du même nom installé sur un graphique, les valeurs de ses paramètres d'entrée ne correspondent pas à celles définies dans le code (ME) - Je sais que c'est une vieille question - juste pour info.

Cependant, lorsque des modifications sont apportées aux paramètres externes, il semble que les paramètres définis dans le terminal après la compilation du code dans ME soient inversés.

 
Seric29:

La personne a posé une question assez intéressante sur l'échec et la façon de tout remettre en place, mais en fait, il n'y a aucun moyen de le faire. Je me demande comment il est possible de simuler une panne qui entraînerait de telles conséquences et quelles en seraient les conséquences, quels paramètres pourraient être perdus. Y a-t-il de tels échecs ?

Je ne sais pas pour maintenant - ils avaient l'habitude de... Je ne ferai pas semblant... :-)

Je sauvegarde toujours tout dans mon profil.

Il existe aussi des modèles - mais c'est long et pénible...

 
Igor Makanu:

Je ne sais pas, je ne l'ai jamais eu, tout au plus si le terminal se bloque pendant la compilation de l'Expert Advisor - s'il y avait une erreur dans le code, cela se produisait

La seule chose qui serait arrivée, c'est de comprendre comment tout a "tourné" :

1. MT4 est en 32 bits, le système d'exploitation ne peut pas lui allouer plus de 3 Go de mémoire, si vous définissez un nombre maximum de barres sur le graphique, vous pouvez engloutir toute la mémoire, pour le trading de l'expert un petit nombre de barres est suffisant, j'ai mis les 1000 barres (vous pouvez aller plus petit)

2) Vous devriez installer un terminal séparé pour l'ATS et non pas le fourrer là !

3. ne faites pas de coloration des graphiques, l'EA ne s'en préoccupe pas vraiment, mais cela consomme des ressources, la coloration (objets graphiques, indicateurs personnalisés) peut être faite dans le second terminal et vous pouvez simplement y aller si cela vous démange.

Selon moi, le principe du minimalisme raisonnable et du "ne touchez pas à l'œuvre !

Ouais... c'est un long chemin à parcourir pour un buzz... :-)

Vous devez tout mettre sur l'écran d'un terminal de combat - pour suivre rapidement les informations et prendre des décisions... Pourquoi sinon, c'est MT4 et MT5 ! Conquérants de tous les terminaux :-) Les demi-mesures sont inappropriées ici, surtout quand tout est réel et très dur.

1,2,3 - rien du tout... :-)

 
Roman Shiredchenko:

1,2,3 - rien du tout... :-)

Je sais ce que les utilisateurs demandent, faire en sorte que les bénéfices d'aujourd'hui, d'hier, de la semaine apparaissent à l'écran, et même tracer une ligne virtuelle de prise de bénéfices, et si je lance un modèle avec les mêmes indicateurs sur un graphique, tout me ralentit !

J'ai vu comment on peut détruire le terminal en faisant quelque chose dont il n'a pas besoin pour le commerce.

;)

 

Bonjour à tous !

Les gars, conseillez, seulement ne vous référez pas au livre de référence, il n'est pas clairement décrit et sans exemples, parfois je rencontre l'entrée suivante :

void NameFunction(void) ; ou double NameFunction(double) ; sans variables

comment cela fonctionne-t-il ? Quels sont les paramètres passés et d'où proviennent-ils ?

 

Quelles sont les spécificités de l'utilisation de Symbol() et _Symbol ? Quand est-il préférable d'utiliser l'un ou l'autre symbole ?

Le code suivant fonctionnera-t-il correctement pour vérifier s'il existe des ordres pour le symbole actuel ?

      int ordersTotal=OrdersTotal();
      bool isOrdersExist=false;
      for (int i=0; i<ordersTotal; i++){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
            if(OrderSymbol()==Symbol()){
               isOrdersExist=true;
               break;
            }
         }
      }
Raison: