MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 82

 

komposter Offensichtlich habe ich mich falsch ausgedrückt :). Sie freuen sich, wenn Sie sehen, dass es "verfügbar" ist. Nachdem ich auf ein neues Build umgestiegen bin, habe ich nicht weniger Freude, sondern mehr Hoffnung und Glauben an das nächste :) Nun, so ist es.... Ich habe versucht, meine Gefühle so korrekt wie möglich auszudrücken.

Renat, ich danke Ihnen für Ihre Antwort. Wir warten auf weitere Änderungen, hoffentlich werden meine Anmerkungen (mindestens 5 sind es schon) auch berücksichtigt und ich muss sie nicht noch einmal lesen.

 

Ich habe in allen Terminals (MT4/MT5) im Ordner "Files" einen Unterordner "MyCommon" angelegt und sie alle einer virtuellen Festplatte zugeordnet (die Festplatte war auf Autostart eingestellt). // jetzt ist dieser Ordner überall sichtbar.

In diesem Ordner habe ich einen Unterordner Include angelegt (der jetzt auch überall sichtbar ist).

In diesem Ordner (und Unterordnern) habe ich universelle mql4/5-Include-Dateien erstellt, die auf allen Terminals gleichzeitig zugänglich sind. // Direktiven der #ifdef-Familie sind endlich erschienen und funktionieren jetzt perfekt.

Das ist jetzt wirklich sehr praktisch. // Ich empfehle es jedem.

ABER :

Ich bin auf ein Problem mit der nicht-synchronen Bearbeitung von Dateien gestoßen. // Ich bearbeite gleichzeitig MT4/ME4 und MT5/ME5, um den mql4 und mql5 Code gleichzeitig zu testen, während ich ihn schreibe.

Das Problem: Wenn Sie eine Datei in einem der Editoren ändern, bemerkt der andere diese Änderungen nicht. Das ist nicht der Fall. Es erkennt nicht, nimmt nicht auf und meldet nicht einmal eine "externe" Dateiveränderung mit der Option "neu laden/ignorieren".

D.h. damit der zweite Reaktor die Änderungen sieht, muss die Datei in ihm geschlossen und dann wieder geöffnet werden. Das ist äußerst ungünstig.

Eine große Bitte an die Entwickler: Bitte machen Sie eine "automatische Erkennung" und Verarbeitung von externen Änderungen der in ME geladenen Datei.

// Ich glaube, das war einmal, es hat einfach aufgehört zu funktionieren ?

--

Und noch eine Frage: Warum können Sie nicht Ihre eigenen Symbole für die bedingte Kompilierung definieren? Auch hier handelt es sich nicht wirklich um ein vollwertiges Feature. Oder suche ich einfach nicht gründlich genug?

 
MetaDriver:

Ich habe in allen Terminals (MT4/MT5) im Ordner "Files" einen Unterordner "MyCommon" angelegt und sie alle einer virtuellen Festplatte zugeordnet (die Festplatte war auf Autostart eingestellt). // Jetzt ist dieser Ordner überall sichtbar.

In diesem Ordner wurde ein Unterordner Include angelegt (der nun auch überall sichtbar ist).

In diesem Ordner (und Unterordnern) erstelle ich die universellen mql4/5-Include-Dateien, auf die alle Terminals gleichzeitig zugreifen können. // Direktiven der #ifdef-Familie sind endlich erschienen und funktionieren jetzt perfekt.

Das ist jetzt wirklich sehr praktisch. // Ich empfehle es jedem.

ABER :

Ich bin auf ein Problem mit der nicht-synchronen Bearbeitung von Dateien gestoßen. // Ich bearbeite gleichzeitig MT4/ME4 und MT5/ME5, um den mql4 und mql5 Code gleichzeitig zu testen, während ich ihn schreibe.

Das Problem: Wenn Sie eine Datei in einem der Editoren ändern, bemerkt der andere die Änderungen nicht. Das ist nicht der Fall. Es erkennt nicht, nimmt nicht auf und meldet nicht einmal eine "externe" Dateiveränderung mit der Option "neu laden/ignorieren".

Mit anderen Worten: Damit der zweite Reaktor die Änderungen sieht, muss die Datei in ihm geschlossen und dann wieder geöffnet werden. Das ist sehr unangenehm.

Eine große Bitte an die Entwickler: Bitte machen Sie "autodetect" und behandeln Sie externe Änderungen der in ME geladenen Datei.

// Es scheint mir, als ob es vorher war, nur nicht mehr funktioniert hat ?

Wo steht etwas über ifdef geschrieben? Ich kann es in der MQL-Hilfe nicht finden

 
MetaDriver:

1. Ich habe in allen Terminals (MT4/MT5) im Ordner "Files" einen Unterordner "MyCommon" angelegt und sie alle einer virtuellen Festplatte zugeordnet (ich habe die Festplatte auf Autostart gestellt). // Jetzt ist dieser Ordner überall sichtbar.

Ich habe einen Unterordner "Include" in diesem Ordner angelegt (der jetzt auch überall sichtbar ist).

In diesem Ordner (und Unterordnern) habe ich universelle mql4/5-Include-Dateien erstellt, die auf allen Terminals gleichzeitig zugänglich sind. // Direktiven der #ifdef-Familie sind endlich erschienen und funktionieren jetzt perfekt.

Das ist jetzt wirklich sehr praktisch. // Ich empfehle es jedem.

ABER :

2. Ich bin auf ein Problem mit der nicht-synchronen Bearbeitung von Dateien gestoßen. // Ich bearbeite gleichzeitig MT4/ME4 und MT5/ME5, um den mql4 und mql5 Code gleichzeitig zu testen, während ich ihn schreibe.

Das Problem: Wenn Sie eine Datei in einem der Editoren ändern, bemerkt der andere die Änderungen nicht. Das ist nicht der Fall. Es erkennt nicht, nimmt nicht auf und meldet nicht einmal eine "externe" Dateiveränderung mit der Option "neu laden/ignorieren".

D.h. damit der zweite Reaktor die Änderungen sieht, muss die Datei in ihm geschlossen und dann wieder geöffnet werden. Das ist äußerst ungünstig.

Eine große Bitte an die Entwickler: Bitte machen Sie eine "automatische Erkennung" und Verarbeitung von externen Änderungen der in ME geladenen Datei.

// Ich glaube, es war schon vorher da, es hat nur nicht mehr funktioniert?

1. Meiner Meinung nach ist es bequemer und zuverlässiger, symbolische, weiche und harte Links zu verwenden als eine virtuelle Festplatte. Dennoch sind die Optionen des Betriebssystems zuverlässiger als Software.
2. Wenn Autosave nicht will, dann wird auch die Erkennung von Änderungen aus einem externen Editor nicht funktionieren.
 
MetaDriver:

In allen Terminals (MT4/MT5) im Ordner "Files" einen Unterordner "MyCommon" erstellt und alle auf eine virtuelle Festplatte abgebildet

Meinen Sie den Hard Link?

Warum nicht in MQL4\ MQL5\? Warum in Files\?

 
MetaDriver:

Ich habe in allen Terminals (MT4/MT5) im Ordner "Files" einen Unterordner "MyCommon" angelegt und sie alle einer virtuellen Festplatte zugeordnet (die Festplatte war auf Autostart eingestellt). // Jetzt ist dieser Ordner überall sichtbar.

Ich habe einen Unterordner Include in diesem Ordner angelegt (der jetzt auch überall sichtbar ist).

In diesem Ordner (und Unterordnern) habe ich universelle mql4/5-Include-Dateien erstellt, die auf allen Terminals gleichzeitig zugänglich sind. // Direktiven der #ifdef-Familie sind endlich erschienen und funktionieren jetzt perfekt.

Das ist jetzt wirklich sehr praktisch. // Ich empfehle es jedem.

ABER :

Ich bin auf ein Problem mit der nicht-synchronen Bearbeitung von Dateien gestoßen. // Ich bearbeite gleichzeitig MT4/ME4 und MT5/ME5, um den mql4 und mql5 Code gleichzeitig zu testen, während ich ihn schreibe.

Das Problem: Wenn Sie eine Datei in einem der Editoren ändern, bemerkt der andere die Änderungen nicht. Das ist nicht der Fall. Es erkennt nicht, nimmt nicht auf und meldet nicht einmal eine "externe" Dateiveränderung mit der Option "neu laden/ignorieren".

D.h. damit der zweite Reaktor die Änderungen sieht, muss die Datei in ihm geschlossen und dann wieder geöffnet werden. Das ist äußerst ungünstig.

Eine große Bitte an die Entwickler: Bitte machen Sie eine "automatische Erkennung" und Verarbeitung von externen Änderungen der in ME geladenen Datei.

// Ich glaube, es war schon vorher da, es hat nur nicht mehr funktioniert?


Zhunko:
1. Meiner Meinung nach ist es bequemer und zuverlässiger, symbolische, weiche und harte Links zu verwenden als eine virtuelle Festplatte. Dennoch sind die Betriebssystemoptionen zuverlässiger als Software.
2. Wenn sie die automatische Speicherung nicht wünschen, reicht die Erkennung von Änderungen durch einen externen Editor nicht aus.

komposter:

Meinen Sie den Hard Link?

Warum nicht in MQL4\MQL5? Warum in Files\?

Kann ich eine Illustration haben?
 
Barbarian:

Wo steht etwas über ifdef geschrieben? Ich kann es in der MQL-Hilfe nicht finden

Es stand in den Ankündigungen(auf MT5 Updates sicher). Dann wurde sie umgesetzt.

//\files\MyCommon\Include\StatBasket_01.mqh
//+------------------------------------------------------------------+
//|                                                StatBasket_01.mqh |
//|                                           © 2013, MetaDriver Lab |
//|                       https://www.mql5.com/ru/users/MetaDriver |
//+------------------------------------------------------------------+
#property copyright "© 2013, MetaDriver Lab"
#property link      "https://www.mql5.com/ru/users/MetaDriver"

#ifndef __MQL5__
    #property strict
#endif 

#ifdef _DEBUG
class CLogPrint  // дебаг версия лог-файла (расширенная)
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#else 
class CLogPrint  // релиз версия
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#endif 

class CSBasket
  {
public:
                     CSBasket(void);
                    ~CSBasket(void);
  };

--

All dies funktioniert. Sie können es verwenden.

 
Zhunko:
1. Meiner Meinung nach ist es bequemer und zuverlässiger, symbolische, weiche und harte Links zu verwenden als eine virtuelle Festplatte. Dennoch sind die Betriebssystemoptionen zuverlässiger als Software.
2. Wenn Autosave nicht will, dann wird auch die Erkennung von Änderungen aus einem externen Editor nicht funktionieren.

1. Ich verstehe das mit den weichen/harten Links nicht. Wie kann man sie durchführen, wie kann man sie nutzen?

2. Schauen wir mal. Sie müssen nicht so kategorisch sein. Wie gesagt, das war einmal (in ME5. Der Editor sagte "Datei geändert, neu laden?")

 
komposter:

Meinen Sie den Hard Link?

Warum nicht in MQL4\MQL5\? Warum Files\?

Ich verstehe die harte Verbindung nicht wirklich. Aber das muss es sein.

Der Grund liegt in Files - weil dort mql-Programme geschrieben werden können. Ich benötige es oft für die automatische Generierung von Einschlüssen mit massiven Enum- oder Routine-Quellen, bei denen die Logik und/oder Daten im Codegenerator geändert werden können.

// Normalerweise generiere ich nichts Kompliziertes, aber oft wird etwas Einfaches und Regelmäßiges (in Bezug auf die Struktur) und sehr Routinemäßiges benötigt (wie fünfzig externe Variablen, z. B. die Koeffizienten des neuronalen Netzes für die MT-Optimierung).

 
tara:

Und Sie können mit Illustrationen?

Alexej, ich habe einen Teil des Quellcodes angehängt. reicht das?

Ich habe nur nicht verstanden, welche Illustrationen Sie wünschen.

Hier ist noch mehr. So sieht ein virtueller Ordner im Explorer aus:



Und so können Sie Pfade zur Zuordnung der virtuellen Laufwerke hinzufügen: