![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
J'ai testé le conseiller expert standard ExpertMACD dans le testeur de stratégie, qui est livré avec MT5, il génère des erreurs :
2013.03.30 19:18:09 Core 2 genetic pass (0, 15) testé avec l'erreur "OnInit failed" en 46 ms
2013.03.30 19:18:08 Core 1 genetic pass (0, 13) testé avec l'erreur "OnInit failed" en 32 ms
2013.03.30 19:18:07 Core 2 genetic pass (0, 5) testé avec l'erreur "OnInit failed" en 0 ms
J'ai découvert en cherchant que l'erreur se trouve dans le module : "SignalMACD" lors de l'optimisation des périodes MACD rapide et lente (en cochant les cases dans les paramètres du testeur de stratégie).
Quelqu'un a-t-il rencontré un tel problème et comment y faire face ? (lorsqu'il n'y a qu'un seul tic, cela fonctionne en quelque sorte, mais il y a des erreurs dès que vous vérifiez deux tics)
Définissez une gamme différente de changements Lent et Rapide. L'erreur disparaîtra. Vous pouvez simplement l'ignorer.
Est-il possible d'écrire une fonction avec un nombre variable de paramètres dans MQL5 ? Par exemple, comme dans StringConcatenate(...) ou Print(...) ?
Est-il possible d'écrire en MQL5 une fonction avec un nombre variable de paramètres ? Par exemple, comme dans StringConcatenate(...) ou Print(...) ?
Par exemple, vous pouvez créer un tableau dont la taille sera égale au nombre de vos paramètres en tant que paramètre.
Je suis intéressé par un nombre variable de paramètres comme dans StringConcatenate. Quelque chose comme ceci : string Concatenate(string s, ...) ; Est-ce possible ?
Une situation similaire est possible. Jusqu'à 64 paramètres peuvent être passés à une fonction.
Une situation similaire est possible. Jusqu'à 64 paramètres peuvent être passés à une fonction.
Et nous pouvons obtenir des types arbitraires pour tous les arguments seulement en surchargeant ? C'est-à-dire que non seulement une chaîne de caractères, mais aussi un double peuvent être passés à une fonction, par exemple. chaîne de caractères s = Concatenate("abc",2.0, "def");
Et des types arbitraires pour tous les arguments ne peuvent être obtenus que par surcharge ? C'est-à-dire que non seulement une chaîne de caractères, mais aussi un double peuvent être passés à la fonction, par exemple. chaîne de caractères s = Concaténate("abc",2.0, "def");
Dans l'indicateur, les variables statiques sont initialisées lors de la commutation du TF.
Est-ce que c'est comme ça que ça doit être ?