Gemeinsam lernen und schreiben in MQL5 - Seite 27

 
Khomtchenko:

Können Sie mir sagen, was die grünen Balken am unteren Rand bedeuten? In MT4 bedeuteten sie das Lot-Volumen und wurden gezogen, wenn das Lot wechselte. Aber wozu dient es hier? Oder mein Losvolumen ändert sich? Es scheint, dass ich es nicht ändere.

So steht es in der oberen linken Ecke: "Höhe der Marge".

 

Eine andere Frage: Nach dem Chart des Testers zu urteilen, gibt es bei mql5 viel weniger Markteintritte oder der Tester zeigt die Ergebnisse mehrerer Trades in einer allgemeinen oder glatten Weise. Nun, die Testergebnisse sind unterschiedlich und das war's!

Übrigens habe ich schon viele schlaue Dinge gehört wie "Scheinwerfer wischen", "das Rad antippen" und EAs, aber niemand hat mir etwas Bestimmtes erklärt oder mich auf meine Fehler hingewiesen. Ich werde auch alle Kommentare von Moderatoren und Experten in einem Bericht zusammenfassen, um deutlich zu machen, ob das Superprodukt mql5 normalen technischen Support hat.

 
Khomtchenko:
Übrigens habe ich mir viele schlaue Dinge angehört wie "Scheinwerfer wischen" und "das Rad antippen", ich habe EAs gepostet, aber niemand hat mir etwas konkret erklärt und mich auf meine Fehler hingewiesen. Ich werde auch alle Kommentare von Moderatoren und Experten in einem Bericht zusammenfassen, um zu verdeutlichen, ob das Superprodukt mql5 einen anständigen technischen Support hat.

Haben Sie die Personalberichte der Tester im Zip-Format an Ihre Beiträge angehängt?

Sobald Sie sich diese selbst ansehen und eine Post-Process-Analyse durchführen, werden Sie alles auf einmal verstehen. Es ist nicht nötig, Zeit mit oberflächlichen Schätzungen zu verschwenden, wie z. B. "die Summen und die Anzahl der Geschäfte stimmen nicht überein".

Man hat Ihnen den Weg gezeigt, wie Sie ihn finden können: Überprüfen Sie die Historie (Sie verlassen sich auf den Irrglauben, dass die Historie überall gleich ist) und die Nachbearbeitung.

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

Mit dem letzten Build wurden Konstruktoren mit Parametern eingeführt. Vielen Dank an die Entwickler!

Bei der Vererbung solcher Konstruktoren ist jedoch ein Problem aufgetreten. Beim Kompilieren des folgenden Codes tritt der Fehler "clsBase - wrong parameters count" auf und der Compiler zeigt auf die rote, fette Linie:

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){

}

Wenn Sie die fettgedruckte grüne Zeile auskommentieren, wird die Kompilierung fehlerfrei durchgeführt.

D.h. wenn es kein Fehler ist, deklariere ich den Konstruktor einer geerbten Klasse falsch.

In der Hilfe steht bisher nichts Neues, d.h. über Konstruktoren mit Parametern steht, dass sie nicht möglich sind.

Bitte erläutern Sie die Syntax des Konstruktoraufrufs mit Parametern für geerbte Klassen.

 

Versuchen Sie es auf diese Weise:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()
     {

     }
  };
 

Ich habe es bereits ausprobiert!

Gleichwohl

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

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


Der Compiler sagt das Gleiche

PS Während ich dies schrieb, wurde Ihr Beitrag aktualisiert. Ich werde es jetzt noch einmal versuchen.


PPS Versucht es, aber es ist das gleiche wie das, was ich vorher schrieb, d.h. ohne Konstruktor Körper die Kompilierung geht durch.

Aber ich brauche nicht Konstruktor in Klasse Deklaration Körper zu schreiben, ich brauche nur es dort zu deklarieren und schreiben Konstruktor Körper selbst (ich habe lange ein) weiter, wie es in der Regel getan wird.

Mit anderen Worten, ich werde die Frage wiederholen :)

Die Syntax für den Aufruf eines Konstruktors mit Parametern in einer geerbten Klasse?

 
falkov:

Aber ich brauche nicht zu schreiben, Konstruktor in Klasse Deklaration Körper, ich brauche nur zu deklarieren es dort und schreiben Konstruktor Körper selbst (ich habe lange ein) weiter, wie es in der Regel getan wird.

In MQL5 wird empfohlen, Klassen nicht in MQH/MQ5-Dateien aufzuteilen und Beschreibung und Implementierung nicht in einer Datei zu trennen, sondern den Body direkt in den Klassenblock zu schreiben.


Die Syntax eines Konstruktoraufrufs mit Parametern in einer geerbten Klasse?

Der obige Fehler wurde bereits behoben und wird im nächsten Build verfügbar sein. Es wird möglich sein, die Implementierung von komplexen Konstruktoren außerhalb des Klassenbeschreibungsblocks zu übernehmen.


ps: mein Beispielcode kompiliert gut, ich habe es überprüft

 

Ihr Beispiel kompiliert ohne Fehler, das habe ich gesagt, aber das ist nicht das, was ich brauche.

Danke für den nächsten Build, ich freue mich schon darauf!

 
Haben Sie die Personalberichte der Tester im Zip-Format an Ihre Beiträge angehängt?

Ich habe die Berater für Sie zusammengestellt. Sehen Sie alles, was Ihnen gefällt! 10 Sekunden zum Kompilieren und weitere 1 Minute zum Testen. Sie wollen Objekteigenschaften, und ich gebe Ihnen das ganze Objekt.

Sie erhalten unterschiedliche Ergebnisse, und die Ergebnisse sind dramatisch unterschiedlich. Die Expert Advisors haben einen sehr kleinen Code. Ein paar Standardfunktionen zur Eröffnung einer Position und 4 Zeilen der Strategie selbst.

Gut. Gibt es eine andere Website, auf der die Entwickler von mql5-Produkten hinter ihrer Entwicklung stehen können? Hier gibt es keine Hilfe. Nur Ausreden. Als ob du das selbst herausfinden könntest... DANKE AN SIE ALLE.

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

Gibt es eine andere Website, auf der sich die Entwickler von mql5-Produkten für ihre Entwicklung einsetzen können?

Hier gibt es keine Hilfe. Es gibt nur Ausreden. Als ob du es selbst herausfinden würdest...

Zunächst einmal sind dies Ihre Entwicklungsexperten.

Zweitens: Wenn Sie faul sind, warum sollten andere das Gleiche tun?