MQL: Sicherheit vs. Chancen - Seite 7

 
Renat:

Das ist alles Unsinn. Es ist ja nicht so, dass Sie rund um die Uhr Gigabytes verbrauchen.

Das Betriebssystem und die Systemprozesse haben um ein Vielfaches mehr mit der Festplatte zu tun.

Es gab eine Frage

komposter:

... oder gibt es eine Software zur Überprüfung?

...

Und soweit ich weiß, liegt es nicht an der Größe, sondern am Speicherort der Datei.

Wenn sich eine permanent wiederbeschreibbare Datei immer an einer Stelle befindet (dort kann man die Auslagerung fixieren), wird das Laufwerk genau an dieser Stelle physisch zerbröseln.

(Wöchentliche Defragmentierung nach einem Zeitplan wird das Problem beheben).

Alles in allem ist es nicht wirklich dumm.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
 
Renat:

Das ist alles Unsinn. Es ist ja nicht so, dass Sie rund um die Uhr Gigabytes verbrauchen.

Das Betriebssystem und die Systemprozesse arbeiten viel härter mit der Festplatte.

Hallo Renat, ich möchte meine Frage über den Begriff der Datei-Sandbox in MT und die Rolle, die ihr zugewiesen wird, klären.

Die Datei-Sandbox ist eine Erlaubnis für den Expert Advisor, etwas nur an einem begrenzten Ort zu schreiben oder zu lesen.
Dies geschieht ausdrücklich zum Zweck der Datensicherheit.
Das bedeutet, dass wir den Expert Advisor auf eine Sandbox beschränken, so dass es für einen Trojaner unmöglich ist, die privaten Kundendaten außerhalb der Sandbox zu öffnen.
Andernfalls wäre die ausdrückliche Genehmigung einer DLL für den Expert Advisor erforderlich.
GUT.


Und was, wenn Sie dem Expert Advisor erlauben, nicht auf die Festplatte zu schreiben, aber zumindest in Dateien im Speicher?

Geht dadurch die Sicherheit des Benutzers / MK verloren?

 
sergeev:


Und wenn wir dem Expert Advisor erlauben, nicht auf die Festplatte zu schreiben, aber zumindest in Dateien im Speicher?

Geht dadurch die Sicherheit der Benutzer/MCs verloren?

Wozu ist das nötig?

Wir haben Dateien, Pips und globale Variablen angegeben, alle Experten auf einem Terminal können normal und ohne Probleme miteinander kommunizieren. Aber die Aufgabe, "mit jemandem draußen in einem freien Modus zu kommunizieren", liegt nicht vor uns. Im Gegenteil, unsere Aufgabe ist es, Informationen niemals nach außen dringen zu lassen.

ps: suchen Sie nach Umgehungsmöglichkeiten für die Kommunikation zwischen den Terminals - wir werden das nicht tun.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 

OK. Danke.

und einige weitere Fragen:

1. Können Sie Entwicklungspläne einfügen, die während eines Tests Informationen vom EA an die lokalen Agenten weitergeben?

2. Wird eine Marktplatzanwendung, die Pipes verwendet, zertifiziert?

 
sergeev:


1. Können Sie Entwicklungspläne aufstellen, die während der Prüfung Informationen vom Sachverständigen an die örtlichen Bediensteten weitergeben?


Bitte begründen Sie zunächst die Notwendigkeit einer solchen Maßnahme.

Unserer Meinung nach ist es methodisch nicht korrekt, dem getesteten EA neben den vom Tester zur Verfügung gestellten Informationen (Parametersatz und Datendateien und sogar benutzerdefinierte Indikatoren, die wir jetzt auf Anfrage zur Verfügung stellen) zusätzliche Informationen zu übergeben.

Lokale Agenten haben übrigens Zugriff auf den gemeinsamen Ordner aller Client-Terminals auf diesem Computer.

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

Bitte begründen Sie zunächst die Notwendigkeit einer solchen Maßnahme.

Unserer Meinung nach ist es methodisch nicht korrekt, dem Prüfer zusätzliche Informationen zu geben, die über das hinausgehen, was der Prüfer zur Verfügung stellt (Parametersatz und Datendateien und sogar benutzerdefinierte Indikatoren, die wir jetzt auf Anfrage bereitstellen).

als Beispiel - ihre GA

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

dll und Markt.

joo, 2013.04.18 21:51

Sie liegen goldrichtig. <...> und über das, was schon 100 Mal diskutiert wurde - die Weitergabe von Informationen an Agenten und die "Verengung des Feldes" in der Anzahl der optimierten Parameter.

<...>

1. die Anzahl der optimierbaren Parameter zu begrenzen.

2. Monokriterien der Optimierung (Entschuldigung für die neue Wortkombination).

Unmöglichkeit, den Prozess der Sandverdunstung zu kontrollieren.

Dies ist keineswegs ein Vorwurf an die Entwickler. Im Gegenteil - es ist ein Höhenflug für MQL5-Programmierer!

<...> Wenn die bilaterale Übertragbarkeit gegeben ist, sind die Probleme gelöst. Es wird nicht notwendig sein, alle drei oben genannten Punkte umzusetzen - alles wird von selbst wachsen.



Lokale Agenten haben übrigens Zugriff auf den gemeinsamen Ordner aller Client-Terminals auf diesem Computer.

Ja, deshalb möchte ich den Informationsaustausch beschleunigen , ohne das Sicherheitsparadigma zu ändern .
 
Ihr GA impliziert in erster Linie die Erstellung von Eingabeparametersätzen. In diesem Fall sind also keine zusätzlichen Informationen erforderlich.
 
Renat:

Zur Information - unsere MQL5 Cloud Network-Cloud-Server erzeugen normalerweise etwa 5 Terabyte Datenverkehr pro Tag , manchmal bis zu 10 TB.

Wenn man in dieses Netz unbeschränkten benutzerdefinierten Datenverkehr mit einer Garantie, jeden Agenten zu erreichen, einlässt, dann wird sich das Netz nicht sehr wohl fühlen.

1. Ich wage zu behaupten, dass 99,9 % des Datenverkehrs heute aus historischen Daten besteht.

(2) Es ist nicht notwendig, sich an jeden Bearbeiter zu wenden. Ich zeige Ihnen unten, wie das geht.

Renat:

...

Wir haben Dateien, Pipes und globale Variablen angegeben,alle Experten an einem Terminal können normal und ohne Probleme miteinander kommunizieren. Aber die Aufgabe, "mit jemandem draußen in einem freien Modus zu kommunizieren", liegt nicht vor uns. Im Gegenteil, unsere Aufgabe ist es, Informationen niemals nach außen dringen zu lassen.

ps: Es ist nicht nötig, nach Umgehungslösungen für die Kommunikationsmethode zwischen den Terminals zu suchen - das werden wir nicht tun.

Ich weiß nicht, wie es anderen geht, aber ich habe vorhin sehr deutlich gemacht, dass wir einen wechselseitigen Informationsaustausch zwischen den Programmen auf der Karte und den Agenten brauchen. Ein Aufenthalt im Freien ist nicht erforderlich. Das heißt, nur innerhalb eines Terminals (und der von ihm verwalteten Agenten). Am Informationsaustausch sind keine weiteren laufenden Kopien der Terminals (mit unterschiedlichen Zwecken) beteiligt.

stringo:

Wir halten es für methodisch falsch, einem zu testenden Expert Advisor neben den vom Tester bereitgestellten Informationen(eine Reihe von Parametern und Datendateien sowie benutzerdefinierte Indikatoren) zusätzliche Informationen zu übermitteln.

Lokale Agenten haben übrigens Zugriff auf den gemeinsamen Ordner aller Client-Terminals auf diesem Computer.

Sie ist genau auf Anfrage. Das ist keine Adressierung an den Agenten mit Übermittlung von Informationen an ihn, sondern der Agent selbst wird ein nur an ihn adressiertes Paket entgegennehmen (und dementsprechend eben dieses Paket durch den Tester an die Cloud senden).


Sie brauchen also so etwas wie das hier:

#property  expert_opt_param 600


void OnTesterInit(const double &CustomData[])
{
   
}

wobei expert_opt_param eine Standardeigenschaft von Programmen wie EA ist.

Stellt sich heraus, dass CustomData nicht initialisiert ist, wird der Durchgang übersprungen.

Dementsprechend muss das an den Agenten adressierte Datenpaket vom Expert Advisor auf dem Chart vorab erstellt werden, damit der Agent es empfangen kann:

bool OptDataSend(double CustomData, int AgentId);

bool OptDataSend() - Standard-Sprachfunktion

double CustomData - Benutzerdaten

int AgentId - Agenten-ID, mit anderen Worten - Passnummer im "Brute-Force"-Modus des Optimierers.


Und - wie wird die Sicherheit in diesem Fall gebrochen? Alles strikt und seriell innerhalb einer einzigen Terminal-Sandbox.

 
sergeev:

innerhalb eines EA wird durch CFastFile (im Ordner MQH\Ctrl, siehe dort) gelöst.

aber wie der Test gezeigt hat, ist die Ausgabe von Bitmaps als Diagramm im Vergleich zu Objekten eine Zeitverschwendung. CView rules :)

Ich gehe davon aus, dass der Test nicht sehr korrekt ist.

Erstens hat OpenCL nicht an der Bitmap-Erstellung teilgenommen (natürlich kann man darüber streiten, ob es bei großen Volumina ein Vorteil für kleine Volumina ist, aber es ist zweifelhaft),

zweitens sind Schreiben in die Datei und Lesen aus der Datei viel langsamer als der Zugriff auf den Speicher (und hier mit häufigen Neuberechnung, zum Beispiel 24 Mal pro Sekunde die größten Verluste, schreiben und lesen Datei 24 Mal pro Sekunde und messen Zeit), das ist nur der Verlust von 1-th Bitmap vs 26 Etiketten.

Deshalb bin ich für virtuelle Akten. Es ist eine vielseitige Lösung. Sie können es in vielen Algorithmen verwenden.

 

Urain:

Ich gehe davon aus, dass der Test nicht sehr korrekt ist.

Das Schreiben in eine Datei und das Lesen aus einer Datei ist um eine Größenordnung langsamer

Es wurde nicht in die Datei geschrieben, sondern ResourceCreate.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5