Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1111

 
Alexey Viktorov:

Il s'agit pratiquement d'une ligne de code. Mais nous devons obtenir un ticket de position pour ça. Voici un Expert Advisor de OnInit qui ouvre une position avec 0.2 lot et en ferme la moitié avec OnTick.

Ou bien voici le code complet de la classe CTrade

Merci !

 
Artyom Trishkin:

Allez ici dans la section Articles et parcourez-la - il y a beaucoup de choses sur la POO, y compris pour les débutants.

Je ne prétends rien du tout. Mais pourquoi pas où lire ....

Variables globales et locales. Le choix de la déclaration de visibilité des variables est déterminé par la nécessité d'utiliser les valeurs des variables de la fonction dans d'autres fonctions et bien sûr dans le conseiller ontique. Autrement dit, si la fonction n'a besoin que de la valeur qui lui est transmise, il est correct de déclarer toutes les variables de la fonction comme locales. Si la fonction effectue un calcul et que les variables, auxquelles sont affectés les résultats du calcul, sont utilisées dans d'autres fonctions, ces variables doivent être déclarées au niveau global.

Il en va de même pour les classes et le niveau de visibilité des variables, fonctions, méthodes. Si d'abord, nous définissons ce que nous voulons de la classe, quelles fonctions, variables, structures et nous les déclarons comme publiques. Si les membres de la classe ne sont utilisés qu'à l'intérieur de la classe, nous les déclarons private ou protected, selon que nous souhaitons ou non l'héritage.

En lisant le manuel, vous avez l'impression qu'on vous parle des propriétés de quelque chose et de la façon de l'utiliser, devinez par vous-même...

En général, l'idée est que si le manuel était plus clairement expliqué, la langue serait apprise plus rapidement, et sans articles supplémentaires. Je ne peux pas m'en passer (bien sûr, je ne parle que de moi)). ). Félicitations aux auteurs des articles.

 

Est-ce que MQL a un analogue de try, catch et throw du C++ ?

 

Salutations. Pouvez-vous me conseiller ?

J'ai un indicateur qui crée des objets sur un graphique, et un EA qui travaille sur ces objets, (en parcourant leur liste).

Mais l'EA ne détecte les objets que sur le prochain tick après leur création.

Est-il possible que l'EA puisse détecter les objets sur le même tick lorsqu'ils sont créés ?

 
Andrey Sokolov:

Salutations. Pouvez-vous me conseiller ?

J'ai un indicateur qui crée des objets sur un graphique, et un EA qui travaille sur ces objets, (en parcourant leur liste).

Mais l'EA ne détecte les objets que sur le prochain tick après leur création.

Est-il possible que l'EA puisse détecter les objets sur le même tick lorsqu'ils sont créés ?

Il est possible de transférer l'algorithme d'un indicateur vers un EA. De tels indicateurs, qui n'ont pas de tampons, sont beaucoup plus faciles à transférer vers un EA.

 
Alexey Viktorov:

Il est possible de transférer l'algorithme d'un indicateur vers un EA. De tels indicateurs, qui n'ont pas de tampons, sont beaucoup plus faciles à transférer vers un EA.

C'est compréhensible, mais jusqu'à présent, c'est la question qui se pose.

En même temps, si j'imprime les messages de l'indicateur et de l'EA, alors le premier provient de l'indicateur.

De même,ChartRedraw(0) ; à la fois à la fin de l'indicateur et au début de l'EA n'a pas aidé.

 
Andrey Sokolov:

C'est compréhensible, mais pour l'instant, c'est la question qui se pose.

"Tels" que quoi ? Comment vous imaginez-vous lire quelque chose qui n'a pas encore été écrit ou voir quelque chose qui n'a pas encore été dessiné ?

 
Alexey Viktorov:

"Un tel", c'est quoi ? Comment imaginez-vous lire quelque chose qui n'a pas encore été écrit ou voir quelque chose qui n'a pas encore été dessiné ?

"lire" sur le même tick, mais après le dessin est possible ?

"Un tel", c'est quoi ? "Pour que le conseiller expert travaille avec des objets


Je vais essayer de le faire viaOnChartEvent.

 
Andrey Sokolov:

"lire" sur le même tick, mais après le dessin, est-ce possible ?

"Un tel", c'est quoi ? " - pour que l'EA travaille sur les objets.
Bien sûr que non. Imaginez que je suis en train d'écrire ce message, et que vous le lisez en même temps. Cela peut-il arriver ? Même moi, je ne lis pas le message, mais seulement le texte qui est tapé pour le message. Tant qu'il n'y a pas d'objet, il n'y a pas de propriétés de cet objet. Et plus encore, essayez de lire lespropriétés de l'objet DROIT après sa création dans l'indicateur lui-même. Cela ne fonctionnera pas. Il doit y avoir un certain "décalage" entre la création de l'objet et l'accès à ses propriétés.
 
Andrey Sokolov:

Je vais essayer d'utiliser OnChartEvent.

Dans OnChartEvent, vous devez également connaître le nom exact de l'objet. Et il n'y en a pas tant qu'il n'y a pas d'objet lui-même.

Raison: