[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 645
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Il n'y a presque aucune logique - la simple sortie des lignes dans l'ordre l'une après l'autre...
J'utiliserais des fonctions pour faciliter la compréhension.
Je me suis également posé la question, mais je n'ai rien trouvé d'utile. En ce qui concerne l'optimisation, vous connaissez déjà le grand frein d'iCustom :), dans les indicateurs il y a une restriction sur le nombre de barres, qui peut être calculé (par IndicatorCounted() ou strictement par le nombre de barres). Dans le code, il est inutile de s'embêter avec le nombre et la complexité des différentes constructions comme if, while, etc. Vous ne gagnerez pas beaucoup, mais avec le temps et l'expérience, le code deviendra plus "beau". Eh bien, en mode visualisation, lorsque chaque "rebond" est modélisé, il sera lent dans presque tous les cas (en fonction de la complexité du système, bien sûr). J'ai lu quelque part que si les calculs complexes sont dans une dll, ce sera plus rapide, mais je ne l'ai pas vérifié. Avec dll, aussi assez de nuances.
Je me souviens que des commandes comme TimeCurrent() ralentissaient beaucoup (quand il y en a plusieurs dans le code).
- Il vaut mieux l'utiliser une fois - le mettre dans une variable, puis accéder à la variable.
J'utiliserais les fonctions pour une perception facile
Je me souviens que des commandes comme TimeCurrent() étaient très lentes (lorsqu'il y en a plusieurs dans le code).
- Il vaut mieux l'utiliser une fois - le mettre dans une variable, puis accéder à la variable.
Je me souviens que des commandes comme TimeCurrent() étaient très lentes (lorsqu'il y en a plusieurs dans le code).
- Il est préférable de l'utiliser une fois, c'est-à-dire de le stocker dans une variable et d'accéder ensuite à cette variable.
Comment puis-je définir correctement une telle variable afin qu'elle puisse être appelée ultérieurement ?
Je le déclare d'abord dans les variables globales
datetime CurTime ;
Et ensuite dans start()
Je lui attribue une valeur :
CurTime=TimeCurrent() ;
et j'obtiens une erreur : 'CurTime' - variable attendue.
Comment le faire correctement ?
Et une autre question : si j'assigne des valeurs à certaines variables non pas dans start() mais dans init(), est-ce qu'elles fonctionneront correctement ?
Je veux dire que certaines fonctions, par exemple TimeCurrent(), seront toujours appelées à chaque tick, si une variable est assignée à cette fonction au début de start().
Merde ! CurTime donne une erreur et CurrTime ne le fait pas... Quel est l'intérêt ?
Le fait est que CurTime est le nom obsolète de la fonction TimeCurrent, donc quand un nom de variable correspond à un nom de fonction, le compilateur se plaint toujours...
Mes amis, mon bloc logique personnel est un peu en panne. Je n'arrive pas à décider comment me comporter dans cette situation :
Nous travaillons dans deux directions, c'est-à-dire que l'achat et la vente ont leurs propres unités de contrôle séparées. Les positions peuvent être ouvertes de manière contre-directionnelle, tout dépend de la direction dans laquelle le marché évolue dans chaque TF.
Supposons que le marché soit ouvert à la vente et à l'achat (le M5 et le M15) et qu'il se retourne soudainement dans la direction opposée, à l'opposé de la vente ouverte le M5 et le M15 (enfin, quelle que soit la situation dans le monde...). Dans ce cas, toutes les ventes ouvertes commencent à augmenter considérablement le drawdown, et puisque nous avons également des achats ouverts, il est possible de fermer certaines positions à la fois dans les achats et les ventes, pour fermer les ventes déficitaires avec des pertes minimales au détriment des achats fermés.
Je ne peux donc pas me prononcer sur la logique de cette situation. Ce qu'il devrait être ?
Au cas où, voici un exemple :
Chers amis, pour en revenir au sujet d'hier :
S'il vous plaît, dites-moi ce que signifie le message du journal de bord :
2010.06.24 17:28:26 TestGenerator : erreur de données non correspondantes (limite de volume 5357 au 2010.01.06 08:00 dépassée)