Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Programmiersprache für Metatrader (http://www.expert-advisor.com/forum/showthread.php?t=6590)

Sven993 30.01.20 22:52

Programmiersprache für Metatrader
 
Guten Abend liebe Leute,

da ich ziemlich neu bin was sachen Programmierung angeht, wollte ich hier nachfragen welche Programmiersprache man lernen muss/sollte um etwas in MQL4 zu programmieren.

Danke für eure Antworten
Grüße Sven993:)

traderdoc 30.01.20 23:14

Nun ja, MQL4 basiert im Prinzip auf der Sprache C und MQL5 auf C++.

Wenn Du noch gar keine Erfahrungen in der Programmierung besitzt, dann solltest Du Dich mit C oder C++ unbedingt beschäftigen.
Sollten bereits Grundkenntnisse existieren (d.h. Wissen um Variablen, Funktionen, Schleifen, boolsche Algebra etc.), dann könntest Du Dir das o.g. ggf. schenken.

Was aber dann auf jeden Fall anfällt, ist das Beschäftigen mit den zahlreichen speziellen Funktionen und Besonderheiten der Sprachen MQL4 bzw. 5. Dazu kommt noch eine gutes Wissen über die Märkte, den Handel und alles rund um die Börse, denn ein Programmierer ohne diese tiefgehenden Kenntnisse wird keinen EA erstellen können. Aber auch ein Börsenexperte ohne Programmierkenntnisse wird den EA nicht hinbekommen.

Es ist also eine konstruktive Kombination aus Beidem unbedingt notwendig.

traderdoc

Sven993 31.01.20 11:56

Danke traderdoc für deine schnelle und ausführliche Antwort.

Werde mir jetzt bei Amazon einmal ein Buch für C und C+
Holen welche für Anfänger geeignet sind. Oder kannst du mir da was
Empfehlen?

Wielange dauert das denn so zu lernen grob. Nicht das ich es eilig
Hätte,würde es dennoch gerne wissen

traderdoc 31.01.20 12:18

Wenn Du die umfassendere, weil objektorientierte, Sprache C++
erlernen willst, dann brauchst Du C nicht mehr. C wiederum ist einfacher
zu erlernen. Man benötigt von beiden eh nur die Grundlagen.
Willst Du allerdings zukünftig mit MT5 traden, dann ist MQL5 die Basis und dazu wiederum C++.
Über die Dauer kann ich keine Aussagen tätigen, das hängt von vielen Faktoren ab.

traderdoc

Sven993 31.01.20 12:21

Naja beides zu haben ist wahrscheinlich nicht das schlechteste.

Dachte C++ würde auf C aufbauen.
Im Moment bin ich noch mit dem Metatrader 4 zugange.

MA-EA 31.01.20 17:11

Soviel ich weiß, sind viele Programmiersprachen C++ ähnlich, wenn ich mich nicht irre, stammen Viele davon ab. Also wenn man da einigermaßen den Überblick hat, versteht man MQL4 usw. auch relativ gut.

Ca$hDigger 31.01.20 19:53

C++ ist eine der schwierigsten und mächtigsten Sprachen überhaupt und wäre als Basis für MQL der absolute Overload. MQL ist eine Skript-Sprache (wie Python) und C++ wird entgegen in Maschinencode umgesetzt und ist daher auch viel schneller. Vieles in C++ würde auch in MQL gar nicht zu finden sein.
MQL beherrscht kein Threading, kein Mutex, keine Lock-Guards, keine Atomics, keine Mehrfachvererbung, keine anonyme Funktionen, hat total beschränkte Arrays ohne Funktionalitäten wie zB std::vector, keine Exceptions, kein mutable, keine Pointerarithmetik, keine Template-Metaprogrammierung, keine Smart-Pointer, kein dynamic-cast, usw...
MQL nutzt bei Structs/Klassen wohl auch kein Padding, man hat auch sonst viele Unterschiede zur Performanceoptimierung, keine Compilerflags und generell weniger Möglichkeiten Cache-Optimierungen vorzunehmen um die Branch-Predictions positiv zu beeinflussen.

Also nein MQL und C++ haben außer der etwas ähnlichen Syntax nichts besonderes gemeinsam was nicht auch andere Sprachen gemeinsam hätten, mal abgesehen davon, dass zwischen Skript-Sprache und Maschinensprache schon ein völlig grundlegender Unterschied in der Basis besteht.
Dieser beliebte Vergleich C++ und MQL5 ist komplett überzogen. OOP haben außerdem etliche Sprachen wie Java, C-Sharp usw.

Wenn man sich C++ angucken will dann dort wirklich nur die absoluten Basics die auch in anderen Sprachen gültig sind, alles darüber hinaus macht für MQL gar keinen Sinn. Um MQL zu lernen muss man MQL lernen durch üben/praktizieren.

traderdoc 31.01.20 21:27

Na, nun wollen wir mal das mal relativieren, keiner hat geschrieben, dass er C oder C++ beherrschen soll!
Ich gebe Dir in großen Zügen Recht, hatte aber auch geschrieben, dass man von beiden eh nur die Grundlagen benötigt und da wird es v.a. auf die Syntax ankommen. Denn warum soll man das Programmieren in einer Sprache lernen, deren Syntax eine ganz andere ist.

Ich fand jedoch Deinen letzten Satz eigentlich den Wichtigsten:

"Um MQL zu lernen muss man MQL lernen durch üben/praktizieren."

Und v.a. er hat uns auch noch nicht verraten, wie weit er es mit der Programmierung treiben will. Auch das ist mit entscheidend.

Und ich hatte geschrieben:
"Was aber dann auf jeden Fall anfällt, ist das Beschäftigen mit den zahlreichen speziellen Funktionen und Besonderheiten der Sprachen MQL4 bzw. 5. Dazu kommt noch eine gutes Wissen über die Märkte, den Handel und alles rund um die Börse, denn ein Programmierer ohne diese tiefgehenden Kenntnisse wird keinen EA erstellen können. Aber auch ein Börsenexperte ohne Programmierkenntnisse wird den EA nicht hinbekommen."

Aber, viele Wege führen nach Rom.

traderdoc

Ca$hDigger 31.01.20 22:51

Wir sind uns einig, es ist nur die Gefahr, dass Anfänger solche Sätze missverstehen:
"MQL4 basiert im Prinzip auf der Sprache C und MQL5 auf C++".
Das ist eben höchstes nur auf die Syntax bezogen korrekt, und von Syntax hat bis zu meinem Beitrag niemand geschrieben. Nicht das jemand der mit der Materie anfängt denkt er würde sich mit C++ einen Gefallen tun um damit dann MQL besser zu können. Den Gefallen tut er sich mit so einem brutalen Sprache wie C++ nicht unbedingt, zumal Maschinencode auch andere Hürden an der Basis mitbringt wie IDE und Compiler konfigurieren und erst mal zum laufen bringen. MQL hat wie andere Skript-Sprachen seine Vorteile, ein fertiger MetaEditor und man kommt schneller ans Ziel und hat weniger Stolperfallen, man muss sich nicht um Dinge wie Sycronisierung kümmern und vieles ist viel sicherer.

MQL hat so viele spezifischen Funktionen fürs Traden die man nicht in C++ findet aber absolut elementar sind. Abrufen von Kursdaten und Kurshistory, Orderausführung, usw. Solche Basics wie Variablen, Schleifen, Funktionen, Klassen kann man wunderbar mit einem MQL-Skript üben und sich per Print alles Nötige ausgeben. Wenn MQL das Lernziel ist, würde ich auch nur MQL praktizieren. Wer mehr will soll sich gerne andere Sprachen angucken aber ob dies eine Abkürzung oder Hilfe für MQL ist, würde ich nicht unbedingt sagen. Wieso sollte ich in C/C++ Schleifen, Klassen, Funktionen üben und testen wenn ich es in MQL viel einfacher machen kann und dort dann gleich eine Vorlage für meine EAs habe.

Und völlig richtig wie gesagt wurde, dazu kommt das Wissen über das Trading, Märkte usw Auch einen statistischen Vorteil am Markt zu bekommen und mit Brokern umzugehen, Steuerrecht, etc. Ohne diese Dinge geht nichts. Am Ende ist es eine Mischung aus vielen interdisziplinären Fähigkeiten, daher würde ich mir nicht extra noch zusätzliche komplizierte Umwege ans Bein binden, das Thema ist anspruchsvoll genug.

Sven993 31.01.20 22:54

Also soweit ich das nun richtig verstehe brauch ich keins von beiden für MQL sondern kann das nur mit MQL selber lernen... heisst muss mir Videos anschauen, weil grosse Bücher oder so in der Art gibt es nix?


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:27 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum