Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1236
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
Salutations. Vous pouvez me dire quelque chose ?
Est-il possible d'obtenir le nom d'une variable au lieu de sa valeur ? Par exemple, imprimer un nom de variable.
#define PRINTVAR(x) Print(" " ##x); Print(x)
void OnStart()
{
long anyvar=(long)TimeLocal();
PRINTVAR(anyvar);
}
résultat :
2020.08.24 14:46:05.394 test (USDCHF,H1) anyvar
2020.08.24 14:46:05.394 test (USDCHF,H1) 1598280365
Eventuellement une fonctionnalité de l'inédit :-) similaire à "C", mais pas encore utilisable
Vous devez obtenir le nom de la variable elle-même.
Sans connaître le nom, et sans aucun signe distinctif, cela ne peut se faire. Vous pouvez, par exemple, obtenir les noms de toutes les variables égales à 5 et imprimer leurs noms, trouvé, imprimé. Ou les noms de toutes les variables de type chaîne. Mais dans tous les cas, il s'agit d'une énumération de variables.
Maxim Kuznetsov Merci
Oui, il s'agit aussi de sélectionner une variable par son nom.
Par exemple, il existe des variables a1, a2, a3, a4, a5, etc. Vous devez également chercher parmi ces variables, choisir celle qui a "a" et 5, et l'utiliser.
alors il n'y a pratiquement aucun moyen. Les noms de variables ne sont accessibles qu'à partir du préprocesseur (#macros).
Nous devons modifier la logique interne, par exemple en utilisant un tableau de hachage d'objets contenant des noms au lieu de variables. La clé et la valeur sont alors disponibles en même temps. Ou utilisez SQLite en cas de stockage à long terme. Ou les combiner :-)
Mais c'est ainsi, sans connaissance de l'algorithme, les conseils sont vains.
Oui, il s'agit aussi de sélectionner une variable par son nom.
Par exemple, il existe des variables a1, a2, a3, a4, a5, etc. Nous devons aussi énumérer ces variables, choisir celle qui a "a" et 5, et l'utiliser.
Écrivez les noms dans un tableau et parcourez le tableau.
Bonjour à tous, ma question concerne le testeur MT4, le langage mql4
. Veuillez me dire quelle est mon erreur lors de l'initialisation d'un tableau. J'ai créé un tableau unidimensionnel de 750 éléments. J'ai initialisé les 750 éléments avec la valeur 50.0.
Cela signifie qu'au premier tic et aux suivants, le premier élément du tableau avec l'index 0 doit avoir la valeur 50.0 et le dernier élément du tableau avec l'index 749 doit avoir la valeur 50.0.
En fait, il s'avère que le dernier élément du tableau a la valeur 0. Et le premier, comme il se doit, est 50.0.
La question. Comment faire en sorte que toutes les valeurs d'un tableau (y compris la dernière) aient la valeur 50.0 après l'initialisation ?
Voici mon code
Print("=========================749======= ",S_L[749]," =0= ",S_L[0]) ;
}
Au bas de la valeur Print() du journal
2020.08.24 17:43:55.427 GBPUSD,M1 : 52255 événements tick (1440 barres, 53256 états de barre) traités en 0:00:00.047 (temps total 0:00:02.422)
2020.08.24 17:43:55.407 2010.01.04 00:00:53 TESTEUR(B.ORG) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:52 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:50 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:47 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:45 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:43 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:41 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:40 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:37 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:35 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:32 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:30 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:28 TESTER(B.ORDERS) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:26 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:25 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:22 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:20 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:17 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:15 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:13 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:11 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:10 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:07 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:05 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:02 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00 TESTER(B.ORD) GBPUSD,M1 : =========================749======= 0 = 0= 50
2020.08.24 17:43:55.385 2010.01.01 00:00:00 Testeur(B.ORD.) test commencé
Merci pour votre aide
Voici le mien.
Où ?))
Où ?)))
En haut de mon message édité. Merci pour la réponse.
ANDREY:
Question. Comment puis-je faire en sorte que toutes les valeurs de mon tableau (y compris la dernière) aient une valeur de 50.0 après l'initialisation?
Merci pour le conseil. Au fait, je voulais clarifier..... Dans le tutoriel de Kovalev il est dit que le tableau peut être initialisé en même temps que sa déclaration (comme je l'ai fait), sans aucune fonction spéciale. Je sais que le tutoriel de Kovalev est quelque peu dépassé. Q. Ai-je bien compris que maintenant, dans mql4, les tableaux doivent être initialisés uniquement à l'aide d'une fonction ?
Merci.