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.
w1sp: Est-il possible d'écrire une fonction avec un nombre variable de paramètres dans MQL5 ? Par exemple, comme dans StringConcatenate(...) ou Print(...) ?
w1sp: 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. Comme ceci : string Concatenate(string s, ...) ; Est-ce possible ?
w1sp: 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");
voidOnStart()
{
//string s1=Foo("5"); // Это теперь ошибка. Компилятор не знаек какой функцией из двух пользоватьсяstring s2=Foo("5",3.0);
// string s=Foo(,"5"); // Ошибка
}
//+------------------------------------------------------------------+string Foo(string i0="", string i1="", string i2="")
{
string rez=i0+i1+i2;
return rez;
}
string Foo(string i0="", double i1=2.0, string i2="")
{
string rez;
if (i1>2.0) {rez=i0+i2;} else rez=i0+"99"+i2;
return rez;
}
Merci. Je l'ai. Il suffit de créer une fonction avec 64 arguments de type string et d'ajouter une valeur par défaut à tous les arguments sauf le premier.
Bonjour. Après la mise à jour de la build MT5, l'indicateur ne s'affiche plus normalement dans le testeur, dans le terminal lui-même il s'affiche normalement. L'indicateur est assez complexe et gourmand en ressources (ZUP), je le traduis de MT4 à MT5. Dans le testeur, la ligne ZigZag de Bild 756 est affichée normalement, dans le testeur après Bild 770 - les valeurs de prix ZigZag sont correctes, mais le cadre temporel n'est pas correct (décalé, non uniforme) ZigZag - tampon de sortie. En même temps, les objets graphiques (triangles, lignes, etc., qui sont d'ailleurs basés sur les données des tampons de sortie (ZigZag également)) s'affichent normalement. Aidez-moi à comprendre.
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 ?