Scalping vorbereiten - Seite 17

 
Igor Makanu:

Nun, hier stellt sich die Frage, ob Klassen die Softwareentwicklungszeit vereinfachen - sagen wir, wenn man Software in einem Fluss schreibt (wie auf einem Fließband - im Wesentlichen Zusammenbau von Software)

aber leider geschehen keine Wunder - um den Unterricht zu nutzen, braucht man Zeit, um ihn zu studieren

aber in Bezug auf die Standardklassen aus der Lieferung von MT, können sie verwendet werden - es gibt eine Hilfe, die Klassen sind in einem guten Programmierstil geschrieben, und recht einfach zu lesen

Nicht alle von ihnen sind wirklich brauchbar. In manchen Fällen ist es einfacher, eine eigene Klasse zu schreiben oder zumindest die Standardklasse zu kopieren und die notwendigen Änderungen vorzunehmen.

 
SEM:

Wird es eine Version für MT5 geben?

Ein kleiner Knüppel für MT5 (funktioniert im Prüfgerät).

Eröffnet den nächsten Handel, wenn alle vorherigen nach Symbol und Richtung im Plus sind.

Für den Anfang funktioniert es gut... Ich muss es fertigstellen, weil Lehi keine Zeit hat... wie man Levels bindet - vielleicht reicht dieses Skripthttps://www.mql5.com/ru/code/20189

ProfLine
ProfLine
  • www.mql5.com
Скрипт рассчитывает и выводит на график уровни безубытка отдельно для открытых позиций BUY и SELL. После изменений количества позиций требуется повторный запуск скрипта.
 
Petros Shatakhtsyan:

Ich spreche nicht von den Standard-MQL-Klassen, sie machen den Code viel einfacher. Und man braucht keine OOP-Kenntnisse, um sie zu verwenden.

Nun, wenn Sie bereits die Standard-MQL-Klassen verwenden, sind Sie nur noch einen Schritt von OOP entfernt

Wenn es sinnvoll ist, eine Klasse zu schreiben, sollten wir es tun, wenn nicht, dann lassen wir es bleiben.

In der gleichen Grafiken, ohne Klassen können Sie nicht, holte ich mit meinem Lernen so früh wie TurboPascal und war zu dieser Zeit eine grafische Bibliothek für die Arbeit mit Text-Panels, und die Frage war nicht über OOP - Code-Fenster und Menüs war so kompliziert, dass ich zögerte, etwas aus dieser Bibliothek zu machen, und nach all von dieser Bibliothek sowieso stellte sich heraus, NortonCommander

))))

Ein weiteres Beispiel: Mit MQL können Sie synthetische Symbole erstellen, d. h. Sie können alle Felder eines neuen Werkzeugs einmalig über den Code ausfüllen. - Sie müssen eine Reihe von Strukturen oder Ähnliches erstellen.

Oder Sie können die Foren durchsuchen und finden eine fertige Lösung in Form derKlasse SYMBOL

https://www.mql5.com/ru/code/18855

Oder wir erben und schreiben die Methoden um, die wir besser finden

Leider leben wir in einem Zeitalter, in dem die Menge an Informationen die Fähigkeit des Einzelnen übersteigt, sie zu studieren, so dass man nach vorgefertigten Lösungen suchen und diese verwenden muss.

Symbol
Symbol
  • www.mql5.com
Библиотека содержит некоторый функционал, позволяющий разобраться на начальном этапе, как идет работа с кастомными символами, и предлагает некоторые готовые решения, могущие быть полезными. Пример При запуске бэктеста на кроссах тестер тянет за собой не только основной символ, но и вспомогательный, который позволяет конвертировать валюту...
 
Igor Makanu:

Sie haben ein optimistisches Szenario, ich bin Pessimist und sehe folgenden Ablauf: Nach der Sezierung erhalten wir eine 20-fache Steigerung der Kukish! ))))

Aber hier ist der Punkt:

Das ist klar, sagen wir, diese Fragen stellen sich nur für diejenigen, die OOP zum ersten Mal gelesen haben, wenn wir jetzt über die Grundprinzipien von OOP sprechen, sind die Fragen interessant:

- wie man mehr als eine Elternklasse erbt

- wie man von CObject die Prinzipien der verknüpften Listen erbt, zum Beispiel möchte ich lernen, wie man CLabel mit CObject "kreuzt", das Ergebnis wird CLabel .Prev , CLabel .Next und ähnliche Methoden sein

Das ist in MQL nicht möglich, auch nicht in Form von Schnittstellen.

Es gibt dort keine Vererbungsprinzipien, es gibt Dummy-Funktionen, man muss einfach alles selbst machen. Die Klasse besteht aus mehreren Strings

class CObject
  {
private:
   CObject          *m_prev;               // previous item of list
   CObject          *m_next;               // next item of list

public:
                     CObject(void): m_prev(NULL),m_next(NULL)            {                 }
                    ~CObject(void)                                       {                 }
   //--- methods to access protected data
   CObject          *Prev(void)                                    const { return(m_prev); }
   void              Prev(CObject *node)                                 { m_prev=node;    }
   CObject          *Next(void)                                    const { return(m_next); }
   void              Next(CObject *node)                                 { m_next=node;    }
   //--- methods for working with files
   virtual bool      Save(const int file_handle)                         { return(true);   }
   virtual bool      Load(const int file_handle)                         { return(true);   }
   //--- method of identifying the object
   virtual int       Type(void)                                    const { return(0);      }
   //--- method of comparing the objects
   virtual int       Compare(const CObject *node,const int mode=0) const { return(0);      }
  };
 
Igor Makanu:

Nun, hier stellt sich die Frage, ob Klassen die Softwareentwicklungszeit vereinfachen - sagen wir, wenn man Software in einem Fluss schreibt (wie auf einem Fließband - im Wesentlichen Zusammenbau von Software)

aber leider geschehen keine Wunder - um den Unterricht zu nutzen, braucht man Zeit, um ihn zu studieren

aber in Bezug auf die Standardklassen aus dem MT-Toolkit sind sie brauchbar - es gibt Hilfe und die Klassen sind in einem guten Programmierstil geschrieben und ziemlich leicht zu lesen

Und viele sind sehr effizient geschrieben, zum Beispiel CHashMap bricht alle Analoga, die hier in Artikeln und kodobase veröffentlicht wurden. Und ich verwende Hash-Tabellen sehr ausgiebig.

 
Сергей Криушин:

Funktioniert prima für den Anfang... Wir müssen es zu Ende bringen, Lekha hat keine Zeit... wie man die Ebenen verbindet - vielleicht funktioniert dieses Skripthttps://www.mql5.com/ru/code/20189

Leider muss sich Lekha etwas zu essen verdienen)). Wird gemacht, aber nicht sofort.

 
Igor Makanu:

In der gleichen Grafik kann man nicht ohne Klassen auskommen, ich habe TurboPascal studiert und es gab eine grafische Bibliothek für die Arbeit mit Textfeldern, und es wurde nicht über OOP gesprochen - der Code von Fenstern und Menüs war so kompliziert, dass ich zögerte, etwas aus einer solchen Bibliothek zu machen, und trotzdem wurde diese Bibliothek zu NortonCommander

Ich erinnere mich, dass einige Grundzüge von OOP in TP 7 auftauchten.

 
Alexey Volchanskiy:

Leider muss sich auch Lekha seine Leckereien verdienen )) Wird gemacht, aber nicht sofort

Geben Sie Ihr Web-Geldkonto in das Profil ein... und wir werden es auffüllen... auf Nimmerwiedersehen... für Ihre Bemühungen und Inspiration... Sie arbeiten nicht für sich selbst, sondern für das Gemeinwohl und die Erkenntnis der Wahrheit ...

 
Сергей Криушин:

Legen Sie ein Web-Geldkonto in Ihrem Profil an....und wir geben Ihnen ein Handout....für Ihre harte Arbeit und Inspiration... Sie tun das nicht nur für sich selbst, sondern für das Gemeinwohl und die Erkenntnis der Wahrheit...

Als zutiefst zynischer Mensch glaube ich nicht an Wunder )))) Aber als soziales Experiment habe ich Geldbörsen geschrieben. Vielleicht geschieht ja ein Wunder und eine Münze hüpft in der VM, und mein Herz schmilzt, und ich füttere damit streunende Kätzchen )) Oder eine Ente mit gebrochenem Flügel von einem nahe gelegenen See auflesen und fliegen lassen. Aber ich verspreche, es nicht zu trinken, es nicht für Muschis zu verschwenden und es nicht beim Kartenspiel zu verlieren!https://www.mql5.com/ru/users/vdev


Alexey Volchanskiy
Alexey Volchanskiy
  • www.mql5.com
Опубликовал пост ScalpHunter2 v1.38_EN.ex4 Немного измененная версия, из-за чемпионата не получилось много поработать, внизу смотрите ScalpHunter2 v1.38_EN.zip, работает до 2018.07.31, настройки те же... Добавил тему Шифрование программ? Тут коллега спрашивает, ломаются ли программы из Маркета и обычные, зашифрованные на Сервере MQ? Кто не в...
 
Ich habe das Projekt im Repository aktualisiert, ich habe im Grunde die CM1PivotLevels-Klasse hinzugefügt. Das Projekt ist im Tresor unter "MQL5\Shared Projects\PrepareScalping" gespeichert. Es funktioniert noch nicht, ich werde es bald fertigstellen.
Grund der Beschwerde: