Zeit für die Umwandlung von Bibliotheken in MQL5 - Seite 6

 
victorg:

Gegen einen direkten Zugriff auf Daten ist eigentlich nichts einzuwenden.

Komm schon, Geschichtenerzähler. Sicherheit ist oberstes Gebot. Umso mehr, wenn das Terminal mit EAs und Indikatoren 24 Stunden am Tag läuft und alles mit echtem Geld und Zugang "hängt". In diesem Fall sollte der Programmierer keine Angst haben, eine Drittanbieter-DLL zu verwenden, und derjenige, der solche Dlls "heimtückisch" verwendet - "Harakiri".
 

Wir müssen die Bereiche abgrenzen, in denen "Übertreiben ist besser als Untertreiben" wirklich anwendbar und nützlich ist.

Meiner Meinung nach sollte der Grundsatz "Sicherheit geht vor" nur für den Markt und die Cloud gelten. Der Käufer zahlt für ein Produkt, das von Natur aus gesichert und damit verschlossen ist, und es gibt keine Möglichkeit, die Sicherheit des Produkts zu überprüfen. Daher muss der Markt dem Käufer eine 100%ige Garantie für die Sicherheit aller Produkte geben. Und im Falle der Cloud müssen alle Cloud-Computer zu 100 % vor Malware geschützt sein.

Und in allen anderen Fällen, die nicht den Vertrieb von Softwareprodukten über den Markt und deren Erwerb über diesen Dienst sowie die Nutzung der Cloud betreffen, liegt die gesamte Verantwortung für die Verwendung von ungeprüfter DLL beim Nutzer.

Mit diesem Ansatz lassen sich viele der derzeitigen Probleme mit verminderter Leistung und Funktionalität der MQL5-Sprache aufgrund von "Safety first" vermeiden.

 
joo:

Daher ist der Markt verpflichtet, dem Kunden eine 100%ige Garantie für die Sicherheit aller Produkte zu geben.

Wie kann man sich das vorstellen? Sie als Verkäufer mieten einen Marktplatz von MK und verlangen, dass der Vermieter zu 100 % für die Sicherheit Ihres Produkts verantwortlich ist, während Sie einen Teil des Codes im dll schließen. Absurd.
 
abolk:
Wie stellen Sie sich das vor? Sie als Verkäufer mieten einen Marktplatz von MK und verlangen, dass der Vermieter zu 100 % für die Sicherheit Ihres Produkts verantwortlich ist. Absurd.

Der Markt bietet bereits eine Garantie für die Produktsicherheit, da er die Verwendung von externen DLLs durch die Produkte verbietet. Und die MQL5-Programme selbst arbeiten in der sicheren internen Sandbox des Terminals.

Sie wussten nichts davon?

 
victorg:

Ich gehe davon aus, dass Sie eine Menge Dinge ändern müssen.

Und Sie probieren es einfach aus.

Die sinnvollen DLL's sind ursprünglich für die Integration mit anderen Systemen geschrieben und haben daher einfache externe Schnittstellen in Form von Rohfunktionen. Ihre Header-Dateien sind einfach.


Gegen einen direkten Zugriff auf die Daten ist eigentlich nichts einzuwenden, schließlich ist der MetaTrader selbst wahrscheinlich in C/C++ geschrieben und sonst nichts. Außerdem erlauben Linker normalerweise sogar Assembler-Inserts, und das ist auch in Ordnung. Denken Sie daran, dass MetaTrader unter Windows direkt oder indirekt eine Menge System-DLLs verwendet, und daran ist auch nichts auszusetzen.

Ich fürchte, Sie haben mit dem Thema Sicherheit überhaupt nichts zu tun und haben keine Ahnung, wovon wir hier reden.


Ich denke, man kann dem Benutzer nicht das Recht vorenthalten, zu wählen. Ich hätte gerne die Möglichkeit, z.B. ALGLIB-dll und seine native(n) Header-Datei(en) zu nehmen und eine zuverlässige Bibliothek zu verwenden, ohne mir die Hände schmutzig zu machen", sondern nur, um dem MQL-Compiler zu zeigen, dass diese Header-Datei C++ und nicht MQL ist.

Nehmen Sie die Bibliothek und verwenden Sie die exportierten Funktionen aus den Headern mit geringfügigen (wenn nötig) Änderungen.

Zu glauben, dass man jede *.H-Datei aus einer unsicheren C/C++-Sprache nehmen und in einer anderen (noch sichereren) Sprache verwenden kann, ist ein völliges Missverständnis von Sprachen. Man kann träumen, aber man kann nicht fordern.

Die ALGLIB-Bibliothek wird bereits auf MQL5 portiert und wird im Quellcode verfügbar sein.


Es stellt sich die Frage: Was ist, wenn diese Bibliothek bösartig und gefährlich ist? Aber ich habe beschlossen, es selbst zu benutzen.

Stellen Sie diese Frage ein paar Millionen Mal, um die Zahl der MetaTrader-Endnutzer zu ermitteln und die Qualität der Überlegungen und des Verantwortungsbewusstseins dieser Millionen von Befragten zu beurteilen.

Aus diesem Grund sorgen wir für die ursprüngliche Sicherheit der Umwelt.


Mit anderen Worten: MQL sollte so sicher sein, wie Sie es wünschen, aber wenn ich es gewagt habe, etwas Externes zu verwenden, dann ist das mein persönliches Problem.

Verwenden Sie die DLL - für den persönlichen Gebrauch kein Problem.
 
Renat:

Die Vorstellung, man könne eine beliebige *.H-Datei aus einer unsicheren C/C++-Sprache nehmen und sie in einer anderen (und noch sichereren) Sprache verwenden, ist ein völliges Missverständnis von Sprachen. Es ist möglich zu träumen, aber es ist unmöglich zu fordern.

Die ALGLIB-Bibliothek wurde bereits auf MQL5 portiert und wird im Quellcode verfügbar sein.

Vielleicht habe ich meine Meinung umsonst geäußert (ich habe übrigens nichts gefordert). Und was das mangelnde Sprachverständnis angeht, haben Sie völlig recht. Je mehr ich lese und verstehe, desto weniger verstehe ich. Ich verstehe nicht, warum, wenn Sie ALGLIB für mql5 umschreiben, und dann kompilieren Sie es mit externen Compiler(visualc) in DLL, dann die Bibliothek wird mehr sicher von diesem als im Falle der direkten Kompilierung des ursprünglichen Quellcodes der Bibliothek zu DLL auf einmal sein?

Nun, okay. Das soll auch so sein.

 
victorg:

Es erschließt sich mir nicht, warum man ALGLIB in mql5 umschreibt und dann mit einem externen Compiler(visualc) zu einer DLL kompiliert,

Du hast es ein wenig falsch verstanden. Rewriting in MQL5 ist so konzipiert, dass keine DLL verwendet wird, sondern alle erforderlichen mathematischen Pakete direkt in den MQL5-Quellcode aufgenommen werden.
 
Renat:
Wir haben viel Arbeit in die Feinabstimmung des MQL5-Compilers gesteckt, um die Konvertierung bestehender Bibliotheken, die in anderen Sprachen geschrieben wurden, zu erleichtern.

Und die Entwicklung der Sprache MQL5 geht weiter. Neue Funktionen, darunter ein leistungsfähiger Code-Profiler, sollen in Kürze erscheinen.

Wir haben nun zwei Aufgaben zu bewältigen:
1) nützliche Bibliotheken von Drittanbietern für die Konvertierung auszuwählen
2) Freiwillige für die Durchführung von Umstellungsprojekten zu gewinnen (wir werden sie finanzieren).

Wir möchten mit einer Liste von möglichen Projekten beginnen. Bitte helfen Sie mit Links und Kurzbeschreibungen.

Da ALGLIB bereits portiert wird, lautet die wichtigste Frage zu diesem Thema: "Welche andere Open-Source-Bibliothek würden die Benutzer gerne sehen?"

 
Urain:
Da ALGLIB bereits portiert wird, lautet die Hauptfrage des Themas "Welche anderen Open-Source-Bibliotheken würden die Benutzer gerne sehen?

Ja, das habe ich in meinem ersten Beitrag deutlich gemacht:

Wir stehen nun vor zwei Herausforderungen:
1) Auswahl nützlicher Open-Source-Bibliotheken für die Konvertierung

 
Rosh:
Sie haben das ein wenig falsch verstanden. Die Neufassung in MQL5 wurde so konzipiert, dass alle erforderlichen mathematischen Pakete direkt in den MQL5-Quellcode aufgenommen werden, anstatt eine DLL zu verwenden.

Entschuldigung, die versprochene Möglichkeit, C/C++-Code direkt aus dem Meta-Editor in eine DLL zu kompilieren, verwirrt mich sehr.

Aber für mich ist es immer noch nicht klar, warum es zu portieren, wenn es (Bibliothek) ist bereits bereit, als DLL verwenden? Es stellte sich heraus, dass ich ein Buch in einem Geschäft gekauft und es vor dem Lesen zunächst in ein Notizbuch übertragen hatte.

Ich habe wohl wieder etwas falsch verstanden. Ich werde nicht mehr schreiben.

Grund der Beschwerde: