alsu: Mieux encore, ne vous embêtez pas avec les décalages dans l'EA, prenez simplement le décalage 0 et le numéro de la barre que vous voulez.
J'ai vérifié avec le testeur maintenant, il s'avère que le trade s'ouvre 5 bougies après le franchissement des moyennes mobiles, et ce n'est pas le cas... J'ai compris ce que vous pouvez faire, déplacez l'autre MA de 5 bougies en avant, alors le signal est correct...)
ierehon: J'ai vérifié maintenant avec le testeur, il s'avère que le trade s'ouvre 5 bougies après le croisement des moyennes mobiles, et ce n'est pas la même... J'ai compris ce qu'il faut faire, avancer une autre MA de 5 bougies, alors le signal est correct...)
c'est la même chose))
zéro barre de la MA décalée de 5 barres vers la droite = 5ème barre de la MA non décalée
keep87: ne peut pas. Il est possible de noter manuellement les données d'un tableau à l'autre dans l'EA si elles ne changent pas d'une optimisation à l'autre, le temps des tests.
Mais dans ce cas, MT devra lire le tableau depuis le fichier à chaque fois ( ?), mais pas depuis un fichier séparé, mais depuis le code. - Y aura-t-il un gain dans ce cas ?
Par exemple, vous pouvez demander au conseiller expert de charger le tableau dans les variables globales du terminal, puis de le lire à partir de là.
Les éléments du tableau peuvent être de plusieurs dizaines à plusieurs centaines et pour chaque variable, il faut les déclarer au préalable. Il sera assez difficile à mettre en œuvre (bien sûr, la tâche n'est pas non plus triviale).
chief2000: Les éléments d'un tableau peuvent être de plusieurs dizaines à plusieurs centaines, et une variable doit être déclarée pour chacun d'eux au préalable. C'est un peu compliqué à mettre en œuvre (bien sûr, la tâche n'est pas non plus triviale).
Et alors ? Manipulez les variables dans la boucle de la même manière que vous le feriez avec les éléments d'un tableau. Exemple d'utilisation :
double a[];
int n;
...
ArrayResize(a,n);
...
//запись массива в глобальные переменныеstring name;
for(i=0;i<n;i++)
{
name = StringConcatenate("__ARRAY_",i);
GlobalVariableSet(name,a[i]);
}
//чтение в массив из глобальныхint gv = GlobalVariablesTotal();
int index;
for(i=0;i<gv;i++)
{
name = GlobalVariableName(i);
if(StringFind(name,"__ARRAY_")==0)
{
index = StrToInteger(StringSubstr(name,8));
if(index>=0&&index<n) a[index]=GlobalVariableGet(name);
//опционально - если хотим очистить список//GlobalVariableDel(name);
}
}
Et alors ? Manipulez les variables dans la boucle de la même manière que vous le feriez avec les éléments d'un tableau. Exemple d'utilisation :
on ne peut pas faire plus simple))
De mémoire, j'ai manipulé quelques milliers de variables de cette manière, et je n'ai pas remarqué de ralentissement. Pour les grandes quantités (centaines de milliers d'articles ou plus), j'essaie généralement d'utiliser MySQL.
alsu: De mémoire, j'ai travaillé de cette manière avec quelques milliers de variables, et je n'ai pas rencontré de décalage. Pour les grandes quantités (centaines de milliers d'articles ou plus), j'essaie généralement d'utiliser MySQL.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
pas possible
c'est possible))
Par exemple, vous pouvez demander à l'EA de charger le tableau dans les variables globales du terminal, puis de le lire à partir de là.
Décidez ce que vous voulez que le résultat soit. Si la valeur de la machine est de 5 barres en arrière, alors
ou identiques
Si c'est le cas,
il sera toujours EMPTY_VALUE, car il n'y a pas de poignet décalé sur ces barres
Mieux encore, ne vous embêtez pas avec les décalages dans l'EA, prenez simplement le décalage 0 et le numéro de la barre que vous voulez.
J'ai vérifié maintenant avec le testeur, il s'avère que le trade s'ouvre 5 bougies après le croisement des moyennes mobiles, et ce n'est pas la même... J'ai compris ce qu'il faut faire, avancer une autre MA de 5 bougies, alors le signal est correct...)
c'est la même chose))
zéro barre de la MA décalée de 5 barres vers la droite = 5ème barre de la MA non décalée
ne peut pas. Il est possible de noter manuellement les données d'un tableau à l'autre dans l'EA si elles ne changent pas d'une optimisation à l'autre, le temps des tests.
- Y aura-t-il un gain dans ce cas ?
c'est possible))
Par exemple, vous pouvez demander au conseiller expert de charger le tableau dans les variables globales du terminal, puis de le lire à partir de là.
Il sera assez difficile à mettre en œuvre (bien sûr, la tâche n'est pas non plus triviale).
Les éléments d'un tableau peuvent être de plusieurs dizaines à plusieurs centaines, et une variable doit être déclarée pour chacun d'eux au préalable.
C'est un peu compliqué à mettre en œuvre (bien sûr, la tâche n'est pas non plus triviale).
Et alors ? Manipulez les variables dans la boucle de la même manière que vous le feriez avec les éléments d'un tableau. Exemple d'utilisation :
on ne peut pas faire plus simple))
Et alors ? Manipulez les variables dans la boucle de la même manière que vous le feriez avec les éléments d'un tableau. Exemple d'utilisation :
on ne peut pas faire plus simple))
De mémoire, j'ai travaillé de cette manière avec quelques milliers de variables, et je n'ai pas rencontré de décalage. Pour les grandes quantités (centaines de milliers d'articles ou plus), j'essaie généralement d'utiliser MySQL.
Pouvez-vous me conseiller, il y a un fichier csv avec des données au format 1.33027 ; 1.33023 et ainsi de suite.
Ensuite, je lis ce fichier mais pour une raison quelconque, les données sont lues avec une précision de 4 chiffres alors que j'en ai besoin de 5.
Lire de différentes manières et
n'aide pas