Le type int a une taille de 4 octets (32 bits). La valeur minimale est de -2 147 483 648, la valeur maximale est de 2 147 483 647.
MoniBarShift ne veut pas donner une valeur supérieure à 99999
Je dessine une ligne de tendance sur le graphique, le script suivant récupère l'heure de début de la ligne et sort le numéro de la barre à cet instant.
Lorsque la ligne est décalée en arrière dans l'historique à un moment donné, la valeur de sortie s'arrête à 99999, et si
boolexact=false// mode
changez-le en true, il imprime -1, et GetLastError = 0
voidOnStart()
{
int total = ObjectsTotal(0, 0, -1); // Общее кол-во объектов на: /текущий график/главное окно/все типы объектовdatetime time0 = 0; // Время соответствующее началу трендовой линииstring objname = ""; // Имя объекта (трендовой линии)int shift = 0; // Номер бара, соответствующего времени начала трендовой линии time0for(int i = total - 1; i >= 0; i--)
{
objname = (string)ObjectName(0, i, 0, OBJ_TREND);
time0 = ObjectGetInteger(0, objname, OBJPROP_TIME, 0);
shift = iBarShift(NULL, PERIOD_M1, time0, false);
Comment("shift: ", shift, " Error: ", GetLastError());
Sleep(2000);
}
}
Qu'est-ce qu'il y a ?
J'ai essayé différents graphiques de différents courtiers, le temps de la ligne est lu correctement, si je change PERIOD_M1 à M5, par exemple, alors je dois aller plus loin dans l'historique pour atteindre 99999.
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
Le type int a une taille de 4 octets (32 bits). La valeur minimale est de -2 147 483 648, la valeur maximale est de 2 147 483 647.
MoniBarShift ne veut pas donner une valeur supérieure à 99999
Je dessine une ligne de tendance sur le graphique, le script suivant récupère l'heure de début de la ligne et sort le numéro de la barre à cet instant.
Lorsque la ligne est décalée en arrière dans l'historique à un moment donné, la valeur de sortie s'arrête à 99999, et si
boolexact=false// mode
changez-le en true, il imprime -1, et GetLastError = 0
Qu'est-ce qu'il y a ?
J'ai essayé différents graphiques de différents courtiers, le temps de la ligne est lu correctement, si je change PERIOD_M1 à M5, par exemple, je dois aller plus loin dans l'historique pour atteindre 99999.
Vérifiez tout d'abord le nombre maximal de barres dans les paramètres du terminal.
intOnInit()
{
//-создадим хэндл индикатораhandle=iAO(name,period);
//-если не удалось создать хэндлif(handle==INVALID_HANDLE)
{
...
return(INIT_FAILED);
}
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ? Peut-il être différent après le redémarrage du terminal ? Peut-il être différent après une réinitialisation de la carte ? Dans quels cas peut-elle changer ?
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ? Peut-il être différent après le redémarrage du terminal ? Peut-il être différent après une réinitialisation de la carte ? Dans quels cas peut-elle changer ?
S'il n'y a qu'un seul indicateur, il a toujours une poignée de 10. Chaque poignée successive est égale à la précédente + 1 et tout dépend de l'ordre dans lequel les poignées ont été créées. Il ne peut changer que si l'un des précédents présente une erreur.
Si vous avez un seul indicateur, il a toujours une poignée de 10. Chaque suivant est égal au précédent+1 et tout dépend de l'ordre dans lequel les poignées ont été créées. Il ne peut changer que si l'un des précédents présente une erreur.
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ? Peut-il être différent après le redémarrage du terminal ? Peut-il être différent après une réinitialisation de la carte ? Dans quels cas peut-elle changer ?
Предположим, что нам вдруг наскучил классический MQL5-доступ к индикаторам и захотелось сравнить скорость доступа в сравнении с альтернативными вариантами. Например, сравним его с доступом к индикаторам в стиле MQL4 без кэширования и с кэшированием. Идеи с доступом в MQL4-стиле были взяты из статьи LifeHack для трейдера: готовим фастфуд из...
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
Si je spécifie simplement MyFun( &Mas[][] ) dans l'en-tête, le compilateur génère une erreur lors de l'accès à un élément du tableau Mas[j][k] dans le corps de la fonction... Mais comment ?
Il ne semble pas y avoir de problème avec les unidimensionnels.
Si je spécifie simplement MyFun( &Mas[][] ) dans l'en-tête, le compilateur génère une erreur lors de l'accès à un élément du tableau Mas[j][k] dans le corps de la fonction... Mais comment ?
Il ne semble pas y avoir de problème avec les tableaux unidimensionnels.
Les dimensions du deuxième tableau et du tableau suivant ne peuvent pas être dynamiques. Par conséquent, il doit être MyFun(int &Mas[][7]) déclaré comme un tableau, par exemple, int Mas[][7] ; il devrait donc être reçu.
MQL5 iBarShift
Selon la documentation de mql5, la fonction iBarShift renvoie une valeur de type int.
int#
Le type int a une taille de 4 octets (32 bits). La valeur minimale est de -2 147 483 648, la valeur maximale est de 2 147 483 647.
MoniBarShift ne veut pas donner une valeur supérieure à 99999
Je dessine une ligne de tendance sur le graphique, le script suivant récupère l'heure de début de la ligne et sort le numéro de la barre à cet instant.
Lorsque la ligne est décalée en arrière dans l'historique à un moment donné, la valeur de sortie s'arrête à 99999, et si
boolexact=false// mode
changez-le en true, il imprime -1, et GetLastError = 0
Qu'est-ce qu'il y a ?
J'ai essayé différents graphiques de différents courtiers, le temps de la ligne est lu correctement, si je change PERIOD_M1 à M5, par exemple, alors je dois aller plus loin dans l'historique pour atteindre 99999.
MQL5 iBarShift
Selon la documentation de mql5, la fonction iBarShift renvoie une valeur de type int.
int#
Le type int a une taille de 4 octets (32 bits). La valeur minimale est de -2 147 483 648, la valeur maximale est de 2 147 483 647.
MoniBarShift ne veut pas donner une valeur supérieure à 99999
Je dessine une ligne de tendance sur le graphique, le script suivant récupère l'heure de début de la ligne et sort le numéro de la barre à cet instant.
Lorsque la ligne est décalée en arrière dans l'historique à un moment donné, la valeur de sortie s'arrête à 99999, et si
boolexact=false// mode
changez-le en true, il imprime -1, et GetLastError = 0
Qu'est-ce qu'il y a ?
J'ai essayé différents graphiques de différents courtiers, le temps de la ligne est lu correctement, si je change PERIOD_M1 à M5, par exemple, je dois aller plus loin dans l'historique pour atteindre 99999.
Vérifiez tout d'abord le nombre maximal de barres dans les paramètres du terminal.
Vérifiez d'abord le nombre maximal de barres dans les paramètres du terminal.
Merci !
C'était 10000, je l'ai changé en illimité et ça a marché.
Pas une chose évidente cependant...
Aide à la création de poignées
Voilà ce qu'il en est
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ?
Peut-il être différent après le redémarrage du terminal ?
Peut-il être différent après une réinitialisation de la carte ?
Dans quels cas peut-elle changer ?
Aide à la création de poignées
Voilà ce qu'il en est
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ?
Peut-il être différent après le redémarrage du terminal ?
Peut-il être différent après une réinitialisation de la carte ?
Dans quels cas peut-elle changer ?
S'il n'y a qu'un seul indicateur, il a toujours une poignée de 10. Chaque poignée successive est égale à la précédente + 1 et tout dépend de l'ordre dans lequel les poignées ont été créées. Il ne peut changer que si l'un des précédents présente une erreur.
Si vous avez un seul indicateur, il a toujours une poignée de 10. Chaque suivant est égal au précédent+1 et tout dépend de l'ordre dans lequel les poignées ont été créées. Il ne peut changer que si l'un des précédents présente une erreur.
Je vois, c'est plus ou moins compris. Merci !
Aide à la création de poignées
Il y a une chose comme ça
Question : A partir de quels paramètres est attribué le numéro (chiffres) d'une poignée ?
Peut-il être différent après le redémarrage du terminal ?
Peut-il être différent après une réinitialisation de la carte ?
Dans quels cas peut-elle changer ?
Réponses trouvées
Veuillez m'indiquer comment passer correctement un tableau multidimensionnel dans une fonction.
Si je spécifie simplement MyFun( &Mas[][] ) dans l'en-tête, le compilateur génère une erreur lors de l'accès à un élément du tableau Mas[j][k] dans le corps de la fonction... Mais comment ?
Il ne semble pas y avoir de problème avec les unidimensionnels.
Veuillez m'indiquer comment passer correctement un tableau multidimensionnel dans une fonction.
Si je spécifie simplement MyFun( &Mas[][] ) dans l'en-tête, le compilateur génère une erreur lors de l'accès à un élément du tableau Mas[j][k] dans le corps de la fonction... Mais comment ?
Il ne semble pas y avoir de problème avec les tableaux unidimensionnels.
Les dimensions du deuxième tableau et du tableau suivant ne peuvent pas être dynamiques. Par conséquent, il doit être MyFun(int &Mas[][7]) déclaré comme un tableau, par exemple, int Mas[][7] ; il devrait donc être reçu.