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
Je demande aux modérateurs de placer toutes les discussions dans un fil séparé. Il existe probablement des dizaines de fils de discussion sur les avantages de la POO.
Une autre question : quelle est la différence entre déclarer une variable, obtenir/créer un pointeur, créer une instance d'objet. Il ne s'agit pas de la différence, mais de savoir dans quels cas il est préférable de l'utiliser. Par exemple, il suffit de déclarer une variable pour ouvrir une position.
Et dans quels cas il est préférable d'utiliser le pointeur, et dans quels cas on ne peut pas se passer de l'instance de l'objet.
Quels sont les avantages et les inconvénients d'une méthode ou d'une autre ?
1. Si un objet se trouve dans la portée globale, il s'agit d'un objet statique. Il est placé dans la mémoire statique et existe aussi longtemps que le programme existe.
Son constructeur est appelé avant l'appel de la première fonction du programme. Le destructeur est appelé après OnDeinit().
Par exemple, comme ceci :
Ou même comme ça :
Il sera détruit à la sortie du bloc. Lorsqu'il est détruit, le destructeur est appelé.
La taille de la pile étant généralement limitée, il est impossible d'y placer des objets de très grande taille.
Exemple :
Dans cet exemple, deux variables sont créées. Un objet de la classe MyClass dans le tas.
Et la variable pObject est un pointeur vers MyClass. Cette variable se voit attribuer l'adresse de l'objet dans la mémoire dynamique.
En sortant de la fonction, la variable pObject sera détruite, mais l'objet restera dans la mémoire dynamique.
Pour pouvoir le supprimer, son adresse doit être stockée quelque part.
Lorsqu'ils sont créés et détruits, le constructeur et le destructeur sont également appelés.
L'accès aux variables dynamiques est généralement plus long que celui aux variables locales.
Vous devez prendre tout cela en compte lorsque vous créez un objet.
1. Si un objet se trouve dans la portée globale, il s'agit d'un objet statique. Il est placé dans la mémoire statique et existe aussi longtemps que le programme existe.
...
Ai-je raison de supposer qu'avec cette option
sans tenir compte de l'avertissement du compilateur, la position peut s'ouvrir avec un nombre magique non égal à 123 ?
C'est-à-dire qu'un nouvel objet sera créé dans la fonction OnTick et le magicien ne sera pas égal à 123 dans celui-ci.
Ai-je raison de supposer qu'avec cette option
sans tenir compte de l'avertissement du compilateur, la position peut s'ouvrir avec un nombre magique autre que 123 ?
C'est-à-dire qu'un nouvel objet sera créé dans la fonction OnTick et le magicien ne sera pas égal à 123 dans celui-ci.
SetExpertMagicNumber
Ai-je raison de supposer qu'avec cette option
sans tenir compte de l'avertissement du compilateur, la position peut s'ouvrir avec un not 123 magique ?
C'est-à-dire qu'un nouvel objet sera créé dans la fonction OnTick et qu'il n'aura pas un MagicNumber de 123.
Oui, c'est exact. Ce sont deux objets différents. Comme l'objet local dans OnTick a le même nom que l'objet global, on ne peut accéder qu'à lui dans la fonction OnTick. L'objet global est hors de portée. Par conséquent, pour l'objet commercial local, le MagicNumber n'a pas encore été défini.
Ai-je raison de supposer qu'avec cette option
sans tenir compte de l'avertissement du compilateur, la position peut s'ouvrir avec un not 123 magique ?
C'est-à-dire qu'un nouvel objet sera créé dans la fonction OnTick et le magicien n'y sera pas 123.
C'est exactement la même chose qu'avec les variables.
Et se concentrer :
Pourquoi ceSetExpertMagicNumber est-il nécessaire en premier lieu?
Il fixe un nombre magique à l'objet de la classe de commerce. Il peut y avoir plus d'un objet de classe CTrade pour l'ensemble du programme, comme cela se fait maintenant dans kodobase. C'est un objet. Cet objet est utilisé pour effectuer desopérations de trading. Il n'est pas nécessaire de créer un objet pour l'ensemble du programme et de le réinitialiser à chaque fois qu'un nouveau magicien, le glissement et d'autres paramètres définis lors de l'initialisation doivent être modifiés. Il est possible de créer un objet de négociation distinct pour chaque symbole négocié, de lui attribuer les paramètres nécessaires en fonction des propriétés du symbole, auquel appartient cet objet spécifique de la classe CTrade, et de négocier facilement en obtenant un pointeur vers l'objet nécessaire de la classe de négociation nécessaire à partir du symbole nécessaire, sans remplacer les paramètres définis à ce moment-là.
Pour travailler avec un autre magicien, on peut définir un objet commercial distinct avec les paramètres appropriés. Il peut y avoir plusieurs assistants dans un même EA.
Tout dépend de la compréhension de ce que nous utilisons et de la manière dont nous l'utilisons.
Il définit un magik pour un objet de la classe commerce. Il ne peut pas y avoir un seul objet de la classe CTrade pour l'ensemble du programme, comme cela se fait habituellement dans kodobase. C'est un objet. Cet objet est utilisé pour effectuer des opérations de trading. Il n'est pas nécessaire de créer un objet pour l'ensemble du programme et de le réinitialiser à chaque fois qu'un nouveau magicien, le glissement et d'autres paramètres définis lors de l'initialisation doivent être modifiés. Il est possible de créer un objet de négociation distinct pour chaque symbole négocié, de lui attribuer les paramètres nécessaires en fonction des propriétés du symbole, auquel appartient cet objet spécifique de la classe CTrade, et de négocier facilement en obtenant un pointeur vers l'objet nécessaire de la classe de négociation nécessaire à partir du symbole nécessaire, sans remplacer les paramètres définis à ce moment-là.
Pour travailler avec un autre magicien, on peut définir un objet commercial distinct avec les paramètres appropriés. Il peut y avoir plusieurs assistants dans un même EA.
Tout dépend de la compréhension de ce que nous utilisons et de la manière dont nous l'utilisons.
Dans ce cas, est-ce que
SetExpertMagicNumber Устанавливает идентификатор эксперта
description incorrecte ?
J'ai cru comprendre que si elle est définie pour EA, tous les ordres/positions devraient avoir cette magie. ((