Apprendre et écrire ensemble en MQL5 - page 27

 
Khomtchenko:

Pouvez-vous me dire ce que signifient ces barres vertes en bas ? Dans MT4, ils signifiaient le volume du lot et étaient dessinés lorsque le lot changeait. Mais à quoi ça sert ici ? Ou le volume de mon lot change ? Il semble que je ne le change pas.

C'est écrit dans le coin supérieur gauche: "Niveau de marge."

 

Autre question : à en juger par le graphique du testeur, il y a beaucoup moins d'entrées sur le marché avec mql5 ou le testeur montre les résultats de plusieurs transactions de manière généralisée ou lisse. Eh bien, les résultats des tests sont différents et c'est tout !

Au fait, j'ai entendu beaucoup de choses intelligentes comme "essuyer les phares", "taper sur le volant" et les EA, mais personne ne m'a expliqué quoi que ce soit de particulier ou ne m'a signalé mes erreurs. Je résumerai également dans un seul rapport tous les commentaires formulés par les modérateurs et les experts afin de faire apparaître clairement si le super produit mql5 bénéficie d'un support technique normal.

 
Khomtchenko:
Au fait, j'ai écouté beaucoup de choses intelligentes comme "essuyer les phares" et "taper sur la roue", j'ai posté des EA, mais personne ne m'a expliqué quoi que ce soit de précis et n'a signalé mes erreurs. Je résumerai également tous les commentaires formulés par les modérateurs et les experts dans un rapport afin de déterminer clairement si le super produit mql5 dispose d'un support technique décent.

Avez-vous joint les rapports du personnel du testeur au format zip à vos messages ?

Dès que vous y jetterez vous-même un coup d'œil et ferez une analyse a posteriori, vous comprendrez tout d'un coup. Il n'est pas nécessaire de perdre du temps avec des estimations superficielles du type "les totaux et le nombre de transactions ne correspondent pas".

On vous a donné les pistes de recherche : vérification de l'historique (vous vous fiez à la croyance erronée que l'historique est le même partout) et analyse au cas par cas.

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

Dans la dernière version, des constructeurs avec des paramètres sont apparus. Merci beaucoup aux développeurs !

Mais un problème est apparu lors de l'héritage de tels constructeurs. Lors de la compilation du code suivant, une erreur "clsBase - wrong parameters count" se produit et le compilateur pointe sur la ligne rouge en gras :

class clsBase {
    protected:
        string __strSymbol;
        ENUM_TIMEFRAMES __enumTF_thisTF;

    public:
        void clsBase(int intX);
        void ~clsBase();
};


void clsBase::clsBase(int intX) {

}


class clsInherit:public clsBase{

    public:
        void clsInherit(int intX,double dblY);
        void ~clsInherit();
};


void clsInherit::clsInherit(int intX,double dblY):clsBase(int intX){

}

De plus, si vous commentez la ligne verte en gras, la compilation se déroule sans erreur.

C'est-à-dire que si ce n'est pas un bug, je déclare le constructeur d'une classe héritée de manière incorrecte.

Rien de nouveau dans l'aide jusqu'à présent, c'est-à-dire qu'il est dit à propos des constructeurs avec paramètres qu'ils ne sont pas possibles.

Veuillez expliquer la syntaxe de l'appel au constructeur avec des paramètres pour une classe héritée.

 

Essayez de cette façon :

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsBase
  {
protected:
   string            __strSymbol;
   ENUM_TIMEFRAMES   __enumTF_thisTF;

public:
   void              clsBase(int intX);
   void             ~clsBase() {};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void clsBase::clsBase(int intX)
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsInherit:public clsBase
  {
public:
                     clsInherit(int intX,double dblY):clsBase(intX)
     {
     }
                    ~clsInherit()
     {

     }
  };
 

Je l'ai déjà essayé !

Tout de même

void clsInherit::clsInherit(int intX,double dblY):clsBase(intX)

void clsInherit::clsInherit(int intX,double dblY)


Le compilateur dit la même chose

PS Pendant que j'écrivais ces lignes, votre message a été mis à jour. Je vais réessayer maintenant.


PPS J'ai essayé, mais c'est la même chose que ce que j'ai écrit avant, c'est-à-dire sans corps de constructeur, la compilation se déroule.

Mais je n'ai pas besoin d'écrire le constructeur dans le corps de la déclaration de la classe, j'ai juste besoin de le déclarer ici et d'écrire le corps du constructeur lui-même (j'en ai un long) plus loin, comme cela se fait habituellement.

En d'autres termes, je vais répéter la question :)

La syntaxe pour appeler un constructeur avec des paramètres dans une classe héritée ?

 
falkov:

Mais je n'ai pas besoin d'écrire le constructeur dans le corps de la déclaration de la classe, j'ai juste besoin de le déclarer ici et d'écrire le corps du constructeur lui-même (j'en ai un long) plus loin, comme cela se fait habituellement.

Dans MQL5, il est recommandé de ne pas diviser les classes en fichiers MQH/MQ5 et de ne pas séparer la description de l'implémentation dans un seul fichier, mais d'écrire le corps directement dans le bloc de la classe.


La syntaxe d'un appel de constructeur avec paramètres dans une classe héritée ?

Le bug ci-dessus a déjà été corrigé - il sera disponible dans la prochaine version. Il sera possible d'implémenter des constructeurs complexes en dehors du bloc de description des classes.


ps : mon code d'exemple compile bien, j'ai vérifié

 

Votre exemple compile sans erreur, c'est ce que j'ai dit, mais ce n'est pas ce dont j'ai besoin.

Merci pour le prochain build, je l'attends avec impatience !

 
Avez-vous joint les rapports du personnel du testeur au format zip à vos messages ?

J'ai mis en place les conseillers pour vous. Regardez tout ce que vous voulez ! 10 secondes pour compiler et tester 1 minute de plus. Vous voulez les propriétés de l'objet et je vous donne l'objet entier.

Vous obtenez des résultats différents, et ces résultats sont radicalement différents. Les conseillers experts ont un code très petit. Quelques fonctions standard pour ouvrir une position et 4 lignes de la stratégie elle-même.

Ok. Existe-t-il un autre site où les développeurs de produits mql5 peuvent défendre leur développement ? Il n'y a pas d'aide ici. Juste des excuses. Comme si tu pouvais le découvrir par toi-même... MERCI À VOUS TOUS.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
Khomtchenko:

Existe-t-il un autre site où les développeurs de produits mql5 peuvent défendre leur développement ?

Il n'y a pas d'aide ici. Il n'y a que des excuses. Comme si tu allais le découvrir par toi-même...

Tout d'abord, ce sont vos experts en développement.

Deuxièmement, si vous êtes paresseux, pourquoi les autres devraient-ils faire de même ?

Raison: