![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
Un pointeur vers un objet.
Ne le prenez pas mal, mais c'est trop tôt pour vous avec des macros comme ça, vous allez vous enliser. Tout d'abord, vous devez comprendre pourquoi j'ai procédé de cette façon :
Et que faire avec ce pointeur d'objet à l'intérieur de la classe où le passer.
Quant aux macros, elles sont beaucoup plus faciles à utiliser.
Et que faire avec ce pointeur vers un objet à l'intérieur de la classe, où le passer.
Quant aux macros, elles sont beaucoup plus faciles à utiliser.
Vous pouvez l'utiliser pour faire référence à un objet créé n'importe où. Dans mon exemple, le pointeur vers l'objet créé globalement est passé au constructeur, mais cette classe peut elle-même être imbriquée dans une autre (dans laquelle l'objet est créé).
Voici un exemple de l'utilisation de votre macro :
Voyez ce que ça donne, j'ajoute des parenthèses pour plus de clarté :
En conséquence, vous avez un code absolument valide pour le compilateur, mais le comportement du programme est catégoriquement différent de ce qui était prévu. Et maintenant, vous ne remarquez pas vraiment l'erreur, le code fonctionne, et ensuite vous fixez le terminal et vous vous demandez pourquoi le robot s'est connecté avec tout le dépôt et a perdu votre compte ? ))))).
Je suis très doué pour les macros, mais c'est la raison pour laquelle et pourquoi je les déteste autant (développeurs, encore une fois s'il vous plaît constexpr et SFINAE en même temps). Je vous conseille donc de ne pas les utiliser pour réduire les lettres dans votre code. Il s'agit en fait, même dans une version mql dépouillée, d'un outil puissant, mais qui nécessite une approche très disciplinée.
Développeurs, ajoutez la possibilité d'utiliser un nombre illimité d'arguments dans les macros et les fonctions. J'en ai assez de cette absurdité statique. Qu'est-ce que 8 arguments pour une macro et si vous avez besoin de 108 quoi alors, faites-en au moins 10. Et aussi permettre de surcharger les macros pour ne pas avoir à multiplier les nouveaux noms avec les macros. Ce serait aussi cool si vous pouviez faire
macro#if
Mais le comportement du programme est catégoriquement différent de ce qui était prévu. Maintenant, il n'est pas certain que vous remarquiez l'erreur, que le code fonctionne, et qu'ensuite vous regardiez bêtement dans le terminal en vous demandant pourquoi le robot est entré avec tout son dépôt et a perdu votre compte ? ))))).
Je suis très doué pour les macros, mais c'est pour cela que je ne les aime pas tellement (développeurs, demandez une fois de plus constexpr et SFINAE en même temps). Je vous conseille donc de ne pas les utiliser pour réduire les lettres dans votre code. Il s'agit en fait, même dans une version mql dépouillée, d'un outil puissant, mais qui nécessite une approche très disciplinée.
Je ne vais pas deviner quoi que ce soit, je fais mon travail de manière fiable.
Que faites-vous avec le pointeur m_data ? Accédez-vous à l'élémentm_data ? Qu'en tirez-vous ? Je comprends que ça arrive ici.
Ce que vous essayez d'obtenir n'est pas clair (très compliqué).
Que se passerait-il si cette ligne
serait écrit en public.
Les cours sont un mystère pour moi. Après deux ans, je ne sais toujours pas comment les gérer.
Il est nécessaire d'écrire les statistiques des résultats des tests dans une table de base de données,
La base de données est créée au préalable, les passes d'intérêt sont écrites en incluant la variable sinput dans les paramètres de l'EA.
BASE DE DONNEES :
J'écris dans cette table avec ce code :
L'énumération ENUM_STATISTICS a un ordre comme dans l'aide, script à vérifier :
tout fonctionne,MAIS le texte du code est assez volumineux, forte probabilité d'une faute de frappe, comment obtenir cette requête à la base de données d'une manière plus fiable - le problème principal est comment entrer dansStringFormat
Il est nécessaire d'écrire les statistiques des résultats des tests dans une table de base de données,
La base de données est créée au préalable, les passes d'intérêt sont écrites en incluant la variable sinput dans les paramètres de l'EA.
DB :
J'écris dans cette table avec ce code :
L'énumération ENUM_STATISTICS a un ordre comme dans l'aide, script à vérifier :
tout fonctionne,MAIS le texte du code est assez volumineux, forte probabilité d'une faute de frappe, comment obtenir cette requête à la base de données d'une manière plus fiable - le problème principal est comment entrer dansStringFormat
Définir ! !! (bien qu'une surcharge normale fasse l'affaire ici)
Et quel est l'intérêt de ce StringFormat ?
Il n'est pas plus rapide qu'un add.... normal. (J'ai fait des dizaines de gigaoctets de fichiers texte =) .... même un add-on normal est plus rapide, c'est comme ça...
Si vous voulez le faire par le biais de cette fonction régulière, je ne comprends pas le problème non plus ;))
Et quel est l'intérêt de ce format de chaîne ?
Il n'est jamais plus rapide qu'un add.... normal. (J'ai fait des dizaines de gigaoctets de fichiers texte =....) même un add-on normal est plus rapide, c'est ça le truc...
Je ne sais pas.
J'ai lu l'aide et l'article et j'ai créé une requête de base de données en utilisant les exemples.
Cela semble fonctionner, mais je soupçonne que si j'utilise une partie de ce code, je risque de faire des fautes de frappe
Tout cela peut sembler étrange, c'est pourquoi je me demande comment le rendre plus compact sans bousiller )))).
Il est nécessaire d'écrire les statistiques des résultats des tests dans une table de base de données,
La base de données est créée au préalable, les passes d'intérêt sont écrites en incluant la variable sinput dans les paramètres de l'EA.
DB :
J'écris dans cette table avec ce code :
L'énumération ENUM_STATISTICS a un ordre comme dans l'aide, script à vérifier :
tout fonctionne,mais le texte du code est assez vaste, il y a une forte probabilité d'une coquille, comment obtenir cette requête à la base de données d'une manière plus fiable - le problème principal est commentobtenir StringFormat
Rappelez-vous, tout d'abord, les types de champs sont facultatifs dans SQLite et vous n'avez pas à vous soucier du typage et du casting. C'est "Lite" pour une raison.
une longue requête peut être divisée en 3-4-5 parties :-)
BEGIN TRANSACTION
INSERT INTO myTable VALUES (...); --- тут можно получить PrimaryKey
UPDATE myTable .... ; --- обновить по Primary
UPDATE myTable ... ; --- ещё...
COMMIT ; --- это если все запросы удачны.. иначе ROLLBACK
Ceci est de mémoire ancienne, c'est à dire que vous devriez vérifier avec l'aide
Je ne sais pas.
J'ai lu l'aide et l'article, j'ai créé une requête de base de données en utilisant les exemples.
Cela semble fonctionner, mais je pense que si j'utilise partiellement ce code, je risque de faire des erreurs d'impression.
Je voudrais demander comment le rendre plus compact sans bousiller )))).
Votre tâche devrait être résolue comme suit :
Votre problème particulier devrait être résolu comme suit :
Merde !
C'est vrai ! Les tableaux !
MERCI !!!!!