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

 
Für den Fall der Fälle:
- Der Verbraucher ist ein Heer von Millionen von Händlern
- der Grundsatz des Schutzes der Gewerbetreibenden ist vorrangig
- Wenn sie "Bibliothek" sagen, meinen sie nicht DLL.
- es steht nicht zur Debatte, die Beschränkungen für die Verwendung von DLLs aufzuheben

Solange die Programmierer nach dem Prinzip "Was ist so schwer daran, eine DLL einzubauen?" verfahren, haben sie keine Chance, sich auf dem Massenmarkt durchzusetzen. Wir versuchen, viele verschiedene Bibliotheken als Quellcode in MQL5 zu erstellen, um es jedem zu ermöglichen, voll funktionsfähige und sichere Programme als EX5-Dateien zu erstellen, die keine DLLs von Dritten benötigen.
 

Herr sergeev, wie planen Sie, DLL loszuwerden, ohne den Code in MQL5 umzuwandeln?

Ich dachte an die automatische Übersetzung von DLL-Projekten in C++ (oder Delphi zum Beispiel) -> MQL5.

Dann wurde der resultierende Code manuell bearbeitet und hier ist eine ex5-Datei der ursprünglichen DLL.

Warum sollte man die DLL in einem Meta-Editor kompilieren, wenn sie sich in Visual Studio gut kompilieren lässt?

 
Ein klinischer Fall von Missverständnis. Weder denken, noch lesen, noch verdauen, was man kaut...
 
avoitenko:

Warum also die DLL in einem Meta-Editor kompilieren, wenn sie sich in Visual Studio gut kompilieren lässt?

damit es mit Ihrem Studio kompiliert wird

Aber jetzt müssen Sie Ihre Projekte nicht mehr in Ordnern zusammenfassen.

Sie werden in der Lage sein, einfache DLLs in ME zu schreiben und zu kompilieren. Und schon haben Sie eine DLL für Ihr EX5-Projekt

 
Ein gutes Beispiel (wenn auch ein kleines) ist die Bibliothek Statistics.mqh, die in CodeBase zu finden ist.
 
sergeev:

Die einfachsten DLLs werden "on the fly" in ME geschrieben und kompiliert. Und schon haben Sie eine DLL für Ihr EX5-Projekt

Noch wichtiger ist, dass Sie die einfachsten DLLs als Quelle in einer einzigen Datei verteilen können.

Der Empfänger muss ihn nur noch mit F7 kompilieren, wobei er den Code vorher mit seinen Augen durchgehen kann (wenn er will).

Dies geschieht, um die Sicherheit des Systems zu erhöhen, indem man dazu übergeht, die Quelle der DLL anstelle der DLL selbst zu verteilen. Dies ist der Hauptzweck der Idee.

 

ZedGraph-Bibliothek:

1. Ausführliche Beschreibung und Beispiele: http://jenyay.net/Programming/ZedGraph

2. Archive, Demos, Dokumentation: http://sourceforge.net/projects/zedgraph/files/

//---

Eine weitere Bibliothek zum Thema Graphen:

http://www.codeproject.com/Articles/32836/A-simple-C-library-for-graph-plotting

Шпаргалка по ZedGraph | jenyay.net
  • Stimmen: 277
  • jenyay.net
Примеры программ на языке C# под платформу .NET Framework, использующие контрол ZedGraph для рисования двумерных графиков
 
Renat:

Noch wichtiger ist, dass es möglich sein wird, einfache DLLs als Quelle in einer einzigen Datei zu verteilen.

Der Empfänger muss ihn nur noch mit F7 kompilieren und den Code vorher mit den Augen überprüfen (wenn er das möchte).

Dies geschieht, um die Systemsicherheit zu erhöhen, indem die DLL-Quelle anstelle der DLL selbst verteilt wird. Dies ist der Hauptzweck dieser Maßnahme.

Dieses Ziel ist (IMHO) falsch.

Gegenwärtig wird die DLL aus 3 Gründen im MQL-Code verwendet:

  1. Verstecken von Code (zum Schutz von Urheberrechten)
  2. Beschleunigung der Berechnungen
  3. Um Funktionen zu verwenden, die in mql nicht verfügbar sind.

Der erste Grund ist für den Markt nicht relevant, der zweite wird durch Ihre Bemühungen negiert, so dass der dritte übrig bleibt.

Ist das der einzige Grund für die Verschmutzung?

Ist es nicht einfacher, den Autor der dll zu benutzen, von ihm die Quell-dll zur Verifizierung zu verlangen und Gebühren für die Staatskasse zu erheben, dass sie nicht belastet wurde (um das Personal nicht mit zusätzlichen Problemen bei der Verifizierung der dll zu belasten).

 
Renat:
...
Native Bibliotheken in Form von MQL5-Quellcode sind für diejenigen notwendig, die Programme zum Verkauf schreiben.
...

Ich wage zu behaupten, dass diejenigen, die Software für den Verkauf schreiben, ebenso wie alle anderen, die Software schreiben, in erster Linie einen brauchbaren Editor brauchen, nicht den kitschigen MetaEditor.

Könnte es nicht auch nur annähernd mit Visual Studio vergleichbar sein? Ich ärgere mich sehr, wenn ich von VS zu ME wechsle.


1. Project Navigator (versprach, darüber nachzudenken)

2. Falten (sagte, es würde nicht funktionieren, wahrscheinlich zu kompliziert für Sie)

3. Möglichkeit, ein ausgewähltes Fragment zu drucken (es wurde nichts gesagt, anscheinend liegt dies außerhalb des Bereichs des Möglichen)

4. Anzeige des Wertes einer Variablen während des Debuggens, nicht nur im Beobachtungsfenster, sondern einfach durch Halten der Maus auf der Variable im Text.

5. In Indikatoren in MT für iOS haben sie immer noch nicht eine Möglichkeit, die Farbe der Linien zu setzen, und versprach auch (nicht über ME, nur im Auge behalten).


PS: Ich stimme mit der vorherigen Nachricht von Urain überein, was die Zielfaulheit betrifft (wenn auch aus einem anderen Grund :), mach zuerst das, was jeder braucht, d.h. einen bequemen Editor, und dann - ja, du kannst die Prüfer machen :).

Alles oben Geschriebene ist mein Werturteil.

 
Urain:

Das ist ein falsches Ziel (IMHO).

Wäre es nicht einfacher, wenn der Autor eine dll verwendet, die Quelle der dll zur Überprüfung verlangt und die Lizenzgebühren an die Staatskasse abführt, damit er nicht bestraft wird (damit er seine Mitarbeiter nicht mit zusätzlichen Problemen bei der dll-Überprüfung belastet).

Sie scheinen ausschließlich auf der Grundlage Ihrer Wahrnehmung der Umwelt zu handeln. Daher verstehen Sie nicht, warum "es nicht einfacher ist, .... zu fordern" nicht für den echten Massenmarkt geeignet ist.

Wir gehen von der Frage aus: "Welche Auswirkungen hat diese oder jene Lösung bei N Millionen Nutzern? So wurden beispielsweise allein im März 2012 über eine Million MetaTrader 4- und MetaTrader 5-Kunden-Terminals installiert. Allein in einem Monat. Das ist eine niedrige Schätzung, da es eine große Anzahl alter Installateure gibt, die nicht im Internet arbeiten.

Der Grund für die Unterstützung der C++ -> DLL-Kompilierung ist, einen echten Austausch von DLL-Quellen zu ermöglichen, anstatt mit sehr gefährlichen ungeprüften DLL-Dateien zu arbeiten. Auf dem Markt wird diese Funktion die Sicherheit für Tausende von Händlern erhöhen, die in den Modus "Gib mir den Quellcode, ich will keine ungeprüfte DLL" wechseln werden.

Natürlich ist dies nur eine zusätzliche Lösung, während unser Hauptziel darin besteht, den maximalen Code in natives und sicheres MQL5 zu übersetzen.

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