Gemeinsam lernen und schreiben in MQL5 - Seite 3

 
FlyAgaric   :

"Es scheint mir ganz einfach zu sein...".

Verwendung des kostenlosen MS Visual Studio (oder eines analogen Programms) als Entwicklungsumgebung.

Wir werden den Standard-"Adapter" mql5.exe veröffentlichen, um die Kompilierung aus anderen IDEs zu ermöglichen. Allerdings funktioniert das Debugging nur über den MetaEditor.

Ich persönlich bezweifle jedoch, dass es sinnvoll ist, mit MQL5-Code aus anderen IDEs zu arbeiten.

Der MetaEditor wird weiter verbessert und auch direkt in MQL5.com und seine Code Base integriert werden.

Und MQL4(MQL5) wird als Bibliothek in einer der Sprachen (VB, C++ und C#) implementiert. Letzteres,

ist meiner Meinung nach die ausdrucksstärkste. Jetzt haben Sie eine fehlerfreie und erprobte Entwicklungsumgebung

mit allen erforderlichen Attributen. Und der kompilierte Code ist am besten für Windows geeignet.

Wenn Sie einen möglichst schnellen Code schreiben wollen, können Sie Ihre eigene DLL erstellen und sie von MQL5 aus aufrufen.

Nach Angaben der Autoren läuft in MQL5 alles 4-20 Mal schneller. Nicht bemerkt. Ein einfacher Indikator

Der gleitende Durchschnitt ist mit einigen kleinen Änderungen viel langsamer als in MQL4.

Ich habe meine Meinung geäußert, wenn sie jemanden beleidigt - bitte entschuldigen Sie mich.

MQL5 ist in der Tat um ein Vielfaches schneller als MQL4, obwohl die Code-Optimierung vor der Veröffentlichung deaktiviert ist.

Sobald wir uns der Freigabe des Systems nähern, werden wir die Open-Source-Leistungstests veröffentlichen, so dass jeder sie überprüfen und sich vergewissern kann.
 
Renat :


Wenn Sie den schnellstmöglichen Code schreiben wollen, können Sie Ihre eigenen DLLs erstellen und sie von MQL5 aus aufrufen.


MQL5 ist wirklich um ein Vielfaches schneller als MQL4, obwohl die Code-Optimierung vor der Veröffentlichung deaktiviert ist.


Sobald wir uns der Systemfreigabe nähern, werden wir offene Leistungstests mit Quellen veröffentlichen, so dass jeder sie überprüfen und sich vergewissern kann.

Ich danke Ihnen für Ihre Aufmerksamkeit. Ich hätte nicht gedacht, dass es jemand an seinem freien Tag lesen würde.

Renat, das waren meine lauten Gedanken. Ich würde mich sehr freuen, wenn alles, was Sie vorhaben, gut klappt.

Was die Verwendung von DLL betrifft, so konnte ich sie weder in MT4 noch in MT5 finden. Ich habe es in C++ und C# geschrieben.

Herzlichen Glückwunsch zu den bevorstehenden Feiertagen und viel Erfolg für MetaQuotes Software Corp.

 
FlyAgaric   :

Was die Verwendung einer DLL betrifft, so konnte ich sie weder in MT4 noch in MT5 finden. Ich habe in C++ und C# geschrieben.

Herzlichen Glückwunsch zu den kommenden Feiertagen und viel Erfolg für MetaQuotes Software Corp.

Hängen Sie das getrimmte DLL-Projekt mit den Quellen in einem ZIP-Archiv direkt an das Forum an - sie werden Ihnen sicher helfen.

Vielen Dank für die Glückwünsche!

 

Hallo zusammen!

Helft mir, Leute.

Ich muss die Uhrzeit des letzten Zitats im Express erfahren. Vielleicht gibt es eine einfache Möglichkeit, dies zu tun?

Bis jetzt mache ich das:

      err=0;
      do
        {
         rates_total=CopyTime(NULL,PERIOD_CURRENT,0,1,iTime);
         err++;
        }
      while(rates_total<=0 && err<QUANTITY_OF_ATTEMPTS);
      if(err>=QUANTITY_OF_ATTEMPTS)
        {
         cur_time=TimeCurrent();
        }
      else
        {
         cur_time=iTime[0];
        } 

Gibt es einen einfacheren Weg?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
vdv2001   :

Hallo zusammen!

Helft mir, Leute.

Ich muss die Uhrzeit des letzten Zitats im Express erfahren. Vielleicht gibt es eine einfache Möglichkeit, dies zu tun?

Bis jetzt mache ich das:

Gibt es einen einfacheren Weg?

Siehe Struktur für aktuelle Preise
 

Guten Tag.

Mein Expert Advisor berechnetein Marktprofil auf M1, alles funktioniert gut, wenn ich es auf den Chart lege, aber wenn ich das Terminal ausschalte und nach ein paar Stunden wieder einschalte, tritt ein Fehler auf und der Expert Advisor stürzt ab.

Ich vermute, dass es an der Swap-Historie liegt, dass die Initialisierungsfunktion ausgeführt wird, bevor die aktualisierten Daten geladen werden (die Hauptberechnungen werden bei der Initialisierung durchgeführt), und deshalb stürzt sie ab.

Ich habe eine Frage: Wie kann ich mit Init feststellen, dass die Werkzeugdaten vollständig geladen sind? Wenn ich überprüft habe, ob das Terminal mit dem Server verbunden ist, hilft es nicht immer, d.h. wenn die "frischen" Daten nicht zu viel sind, dann funktioniert es gut, wenn ein paar Tage, dann stürzt es mit einem Fehler ab oder berechnet die letzten Tage nicht.

Können Sie mir sagen, wie ich ein Zeichen setzen kann, dass alle Daten auf dem neuesten Stand sind?

Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
  • 2010.01.26
  • Dmitry
  • www.mql5.com
Рыночный профиль был разработан Питером Стидлмайером (Peter Steidlmayer), который предложил использовать альтернативное представление информации как о горизонтальном, так и о вертикальном движении рынка, что дает полностью отличный набор моделей. Он предположил, что у рынка существует основной рыночный пульс, или фундаментальная модель, которая называется цикл равновесия и неравновесия (cycle of equilibrium and disequilibrium). В данной статье я сделаю попытку дать общие понятия об упрощенной модели Рыночного профиля (Market Profile) – Ценовой Гистограмме (Price Histogram) и расскажу, как реализовал данный инструмент на MQL5.
 
vdv2001   :

Guten Tag.

Mein Expert Advisor berechnet ein Marktprofil auf M1, alles funktioniert gut, wenn ich es auf den Chart lege, aber wenn ich das Terminal ausschalte und nach ein paar Stunden wieder einschalte, tritt ein Fehler auf und der Expert Advisor stürzt ab.

Ich vermute, dass es an der Auslagerungshistorie liegt, dass die Initialisierungsfunktion ausgeführt wird, bevor die aktualisierten Daten geladen werden (die Hauptberechnungen werden während der Initialisierung durchgeführt), und deshalb stürzt sie ab.

Ich habe eine Frage: Wie kann ich mit Init feststellen, dass die Werkzeugdaten vollständig geladen sind? Wenn ich überprüft habe, ob das Terminal mit dem Server verbunden ist, hilft es nicht immer, d.h. wenn die "frischen" Daten nicht zu viel sind, dann funktioniert es gut, wenn ein paar Tage, dann stürzt es mit einem Fehler ab oder berechnet die letzten Tage nicht.

Können Sie mir sagen, wie ich das Kennzeichen setzen kann, dass alle Daten aktualisiert sind?

Verschieben Sie die Initialisierung der Historie von OnInit() nach OnTick() (Sie müssen sicherstellen, dass der Code nur einmal ausgeführt wird) und alle Probleme mit dem Paging werden verschwinden

 
 
alsu   :

Verschieben Sie die Initialisierung der Historie von OnInit() nach OnTick() (der Code sollte nur einmal ausgeführt werden) und alle Probleme mit dem Paging werden verschwinden.

Ein Problem ist verschwunden, aber nach der Übertragung der Berechnungen auf OnTick() ist ein anderes aufgetreten - die Märkte, die im Moment nicht funktionieren, haben einen leeren Chart und die Funktion OnTick() wird nicht aufgerufen.

 
Rosh   :
Siehe auch Organisieren des Datenzugriffs


Danke, dass Sie das so gelöst haben:

int OnInit()
  {
//---
   while(!(bool)SeriesInfoInteger(Symbol(),0,SERIES_SYNCRONIZED))
     {
      Sleep(20);
     }
   if(ExtExpert.Init())
      return(0);
   else
      return(-1);
  }