Diskussion zum Artikel "Verwendung von Ressourcen in MQL5"

 

Neuer Artikel Verwendung von Ressourcen in MQL5 :

MQL5 Programme automatisieren nicht nur Routineberechnungen, sondern können auch vollfunktionale graphische Umgebungen erzeugen. Die Funktionen zur Erzeugung wirklich interaktiver Kontrollen sind nun virtuell genauso vollwertig wie in in klassischen Programmiersprachen. Wenn Sie ein voll funktionsfähiges, eigenständiges Programm in MQL5 schreiben wollen, dann sollten Sie seine Ressourcen verwenden. Programme mit Ressourcen sind leichter zu pflegen und zu verbreiten.

Autor: MetaQuotes Software Corp.

 

Jetzt ist es noch einfacher, Ressourcen in Ihre MQL5-Programme einzubinden. Zu diesem Zweck wurde in MetaEditor 5 ein spezieller Standardbefehl "Ressource einfügen" hinzugefügt:



Вставка ресурсов

Um die Verwendung von Ressourcendateien in entwickelten Anwendungen zu erleichtern, gibt es im Menü "Service " den Befehl "Ressourcen einfügen Ressourcen einfügen". Mit diesem Befehl können Sie die Deklaration von Ressourcendateien, die Sie aus einem bestimmten Ordner ausgewählt haben, mit der Direktive #resource in die aktuelle Datei einfügen.

Nach dem Ausführen dieses Befehls erscheint ein Standard-Dialogfeld des Betriebssystems, in dem Sie eine oder mehrere Ressourcendateien auswählen müssen, die in der Datei deklariert werden sollen.

  • Ressourcendateien können sich nur innerhalb des /MQL5-Verzeichnisses des Client-Terminals befinden. Dateien außerhalb dieses Ordners können nicht verwendet werden.
  • Nur *.wav und *.bmp Dateien können als Ressourcendateien verwendet werden.

Danach werden die entsprechenden Direktiven der folgenden Form an den Anfang der aktuellen Datei angehängt:

#resource "\Images\example.bmp"
oder
#resource "resources\example.bmp"

Der Pfad zu Ressourcendateien kann auf zwei Arten angegeben werden:

  • Relativ zur aktuellen Datei (ohne das "\"-Symbol am Anfang des Pfades)
    Diese Methode wird verwendet, wenn sich die Ressourcendateien im gleichen Ordner wie die aktuelle Datei oder in einem ihrer Unterordner befinden.
  • Bezogen auf das /MQL5-Verzeichnis des Client-Terminals (mit dem Symbol "\" am Anfang des Pfades)
    In allen anderen Fällen wird diese Methode verwendet.
 

Das Einfügen von Ressourcen in Ihre MQL5-Programme ist jetzt noch einfacher geworden. Zu diesem Zweck verfügt MetaEditor 5 über den speziellen Befehl "Ressourcen einfügen ".


Resources Inserting

Um die Verwendung von Ressourcendateien in entwickelten Anwendungen zu vereinfachen, wurde der Befehl "Ressourcen einfügen Ressourcen einfügen" in das Menü "Werkzeuge" implementiert. Dieser Befehl ermöglicht die Deklaration von Ressourcendateien aus einem ausgewählten Ordner in der aktuellen Datei unter Verwendung der Direktive #resource.

Sobald dieser Befehl ausgeführt wird, erscheint das Standard-Dialogfenster Ihres Betriebssystems. Darin müssen Sie eine oder mehrere Ressourcendateien auswählen, die in der Datei deklariert werden sollen.

  • Ressourcendateien können sich nur innerhalb des /MQL5-Verzeichnisses des Client-Terminals befinden. Dateien außerhalb dieses Verzeichnisses können nicht verwendet werden.
  • Nur *.wav und *.bmp Dateien können als Ressourcendateien verwendet werden.

Sobald die oben genannten Aktionen durchgeführt wurden, werden die entsprechenden Direktiven am Anfang der Datei hinzugefügt. Zum Beispiel:

#resource "\Images\example.bmp"
oder
#resource "resources\example.bmp"

Der Pfad zu Ressourcendateien kann auf zwei Arten angegeben werden:

  • Relativ zur aktuellen Datei (ohne das "\"-Symbol am Anfang des Pfades)
    Dieser Weg wird verwendet, wenn sich die Ressourcendateien im gleichen Verzeichnis wie die aktuelle Datei oder in einem ihrer Unterordner befinden.
  • Bezogen auf das /MQL5-Verzeichnis des Client-Terminals (das Symbol "\" wird am Anfang des Pfades angegeben)
    Dieser Weg wird in allen anderen Fällen verwendet.
 

MetaTrader 5 Client Terminal build 730
MQL5: Added support for storing indicators in EX5 resources. 

#resource "Examples\Fractals.ex5"

Könnte jemand bitte ein Beispiel für die Verwendung des Indikators geben?

 
Wann wird es möglich sein, Indikator-Dateien, die in der Hauptdatei über iCustom() aufgerufen werden, als Ressource einzufügen? Es gibt so viel Müll in den Terminal-Ordnern, dass nicht einmal klar ist, was wohin gehört. Das ist nicht sicher. Ich würde gerne lernen, wie man ein Projekt in einer ex5-Datei zusammenfassen kann.
 
MoneyJinn:
Wann wird es möglich sein, Indikator-Dateien, die in der Hauptdatei über iCustom() aufgerufen werden, als Ressource einzufügen? Es gibt so viel Müll in den Terminal-Ordnern, dass nicht einmal klar ist, was wohin gehört. Das ist nicht sicher. Ich würde gerne lernen, wie man ein Projekt in einer ex5-Datei zusammenfasst.

Dies wurde in der 730er Version am 24. November 2012 hinzugefügt:

  • MQL5: Unterstützung für das Speichern von Indikatoren in EX5-Ressourcen hinzugefügt. Indikatoren in Ressourcen werden nicht in der Lage sein, mit ihren eigenen Ressourcen zu arbeiten.


Hier ist ein einfaches Beispiel. Kompilieren Sie zuerst den Standard-CHO-Indikator im angegebenen Pfad, dann diesen Expert Advisor und legen Sie ihn auf dem Chart ab.

#resource "\\Indicators\\Examples\\CHO.EX5"
//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5");
   if(handle!=INVALID_HANDLE)
     {
      Print("Indicator created!");
      IndicatorRelease(handle);
     }
//---
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
  }

Achten Sie auf die richtige Wahl der Pfade, den Bereichsmodifikator :: und die korrekte Verwendung von Schrägstrichen.

Wir haben speziell die Möglichkeit geschaffen, Indikatoren in Ressourcen zu verpacken, damit Sie autarke und vollständige Produkte erstellen können.

 
Renat:

Dies wurde in Build 730 am 24. November 2012 hinzugefügt:

  • MQL5: Unterstützung für die Speicherung von Indikatoren in EX5-Ressourcen hinzugefügt. Indikatoren in Ressourcen werden nicht in der Lage sein, mit ihren eigenen Ressourcen zu arbeiten.

...

Wie konnte ich diesen Moment verpassen? Ich warte auf diese Funktion, aber sie ist schon lange da. Ich danke Ihnen. ))
 
Renat:

Ich danke Ihnen. Das ist genau das, was ich brauche.

 
Ist es möglich, Ressourcen in ex4 (mt4) -Produkte einzubinden, oder ist diese "Ressourcen"-Sache ausschließlich eine ex5 (mt5)-Funktion?
 
FinGeR:

Könnte jemand bitte ein Beispiel für die Verwendung des Indikators geben?

Beispiel: https://www.mql5.com/ru/forum/3409#comment_408123

#resource "\\Indicators\\Examples\\CHO.EX5"
//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5");
   if(handle!=INVALID_HANDLE)
     {
      Print("Indicator created!");
      IndicatorRelease(handle);
     }
//---
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
  }
Обсуждение статьи "Использование ресурсов в MQL5"
  • www.mql5.com
Программы на MQL5 позволяют не только автоматизировать рутинные вычисления, но и создавать полноценную графическую оболочку.
 
4evermaat:
Ist es möglich, Ressourcen in ex4 (mt4)-Produkte einzubinden? Oder ist diese "Ressourcen"-Sache ausschließlich eine ex5 (mt5)-Funktion?
Nur für MQL5.