---
title: "Expert Advisor oder Indikatoren erstellen - Algorithmisches Trading, Handelsroboter - MetaTrader 5 Hilfe"
description: "Die Handelsplattform enthält eine eingebaute Programmiersprache MetaQuotes Language 5 ( MQL5 ) und den MetaEditor als... - Expert Advisor oder Indikatoren erstellen - Algorithmisches Trading, Handelsroboter - MetaTrader 5 Hilfe"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/de/terminal/help/algotrading/autotrading"
---

[MetaTrader 5 Hilfe](https://www.metatrader5.com/de/terminal/help) → [Algorithmisches Trading, Handelsroboter](https://www.metatrader5.com/de/terminal/help/algotrading) → Expert Advisor oder Indikatoren erstellen

# Expert Advisor oder Indikatoren erstellen

Die Handelsplattform enthält eine eingebaute Programmiersprache MetaQuotes Language 5 ([MQL5](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#mql5)) und den [MetaEditor](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#metaeditor) als Entwicklungsumgebung und Werkzeuge zum Testen von Strategien.

> Jegliche Informationen über die Entwicklung von Strategien in MQL5 kann gefunden werden auf der [MQL5.community](https://www.mql5.com/) Webseite. Die Webseitensektion [Code Base](https://www.mql5.com/de/code)beinhaltet viele Beispiele von nutzbaren Applikationen.

## Die MQL5 Programmiersprache für Handelsstrategien [#](#mql5)

Die Handelsplattform enthält Ihre eigene eingebaute Sprache zum Programmieren von Handelsstrategien [MetaQuotes Language 5](https://www.mql5.com/). Es ist die fünfte Generation der MQL Programmiersprachen. Sie erlaubt die Entwicklung von [Expert Advisors](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#type) um das Handeln zu automatisieren und eigene Strategien zu verwirklichen. MQL5 erlaubt außerdem das Erschaffen von[benutzerdefinierten Indikatoren](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#type), [Skripten](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#type) und Funktionsbibliotheken.

MQL5 Features:

- Die Sprache ist Objekt-orientiert;
- Die MQL5 Syntax entspricht der von C++;
- Sie beinhaltet eine große Anzahl an Funktionen, die nötig sind Kurse zu analysieren, Positionen zu verwalten und technische Indikatoren aufzurufen usw.;
- Sie ist eine High-Performance-Programmiersprache;
- Hoher Schutz gegen Dekompilierung: Neue komplexe Verschlüsselungsalgorithmen, Überprüfung der Dateiintegrität und die Komplexität der Sprache;
- [OpenCL](https://www.mql5.com/de/articles/405)ermöglicht die Unterstützung von Grafikkarten für die Berechnung von MQL5 Applikationen;
- Integrierte Software Entwicklungsumgebung [MetaEditor](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#metaeditor) inklusive einem Debugger.

Eine detaillierte Beschreibung aller Programmfunktionen ist in der MQL5 Dokumentation gegeben. Alle nötigen Informationen über MQL5 kann auf der Entwickler-Community-Webseite gefunden werden [https://www.mql5.com](https://www.mql5.com/).

## MetaEditor [#](#metaeditor)

MetaEditor ist eine integrierte [MQL5](https://www.mql5.com/) Entwicklungsumgebung. Es gehört zur Handelsplattform dazu. MetaEditor erlaubt das Erschaffen, Editieren, Kompilieren und Debuggen von Quellcode geschrieben in [MQL5](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#mql5).

- MQL5 Wizard um Vorlagen und Handelsroboter zu erstellenMetaEditor beinhaltet den MQL5 Wizard, der es vereinfacht MQL5 Programme zu erstellen. Mit dem MQL5 Wizard kann ein Trader ohne Programmierkenntnisse ganz einfach Expert Advisor erstellen. Sie müssen nur Trading-Signale für einen Expert Advisor auswählen und Money Management und Trailing Stop Methoden festlegen. Der Expert Advisor Code wird automatisch anhand der gewählten Parameter generiert.Zusätzlich erlaubt der MQL5 Wizard das Erstellen von MQL5 Programmvorlagen um die Arbeit als Programmierer zu erleichtern.
- Hilfe mit dem ProgrammcodeMetaEditor erkennt die Programmiersprache, gibt Tipps über Funktionen und markiert die verschiedenen Code-Elemente. Somit vereinfacht der MetaEditor die Navigation im Quellcode und beschleunigt den Entwicklungsprozess.
- DebuggingMetaEditor erlaubt es Programme zu debuggen um Fehler schneller zu finden und zu beheben. Eine Schritt-für-Schritt Ausführung des Quellcodes erlaubt das Überwachen einzelner Variablenwerte.
- Profiling zur Code-OptimierungDer Editor bietet Werkzeuge zum Software-Profiling. Sie können die langsamsten Funktionen identifizieren im Quellcode und die Programme optimieren.
- Artikel über das Programmieren und die Quellcode-BibliothekDirekt im MetaEditor können Sie eine Menge an MQL5 Programmierungs-Tutorials finden. Zusätzlich können Sie eine riesige Menge an automatischen Programmen in der kostenlosen Bibliothek finden.
- Online MQL5 Algo Forge mit VersionierungsunterstützungDer Speicher bietet einen sicheren Weg Dateien zu speichern und verlorene Dateien wiederzufinden, sowie den Code von anderen Computern mit dem gleichen MQL5.community Account zu nutzen.

Mehr Details über den MetaEditor können in der eingebauten Hilfe gefunden werden. Die Beschreibung von MQL5 kann in der eingebauten Dokumentation und auf der Webseite gefunden werden, der [MQL5.community](https://www.mql5.com/)Webseite.

## Algo Trading Bücher [#](#algobook)

Um Anfängern zu helfen, haben wir zwei umfassende Bücher über die MQL5-Programmierung veröffentlicht, die sich an alle richten, die das Erstellen von Handelsrobotern und Anwendungen für den algorithmischen Handel beherrschen wollen. Die Bücher bieten eine systematische und strukturierte Darstellung des Stoffes, um den Lernprozess zu erleichtern. Detaillierte Code-Beispiele, die Schritt für Schritt das Erstellen von Handelsrobotern und -anwendungen erklären, ermöglichen ein tieferes Verständnis der Varianten des algorithmischen Handels.

„[MQL5-Programmieren für Händler"](https://www.mql5.com/de/book), ist das vollständigste und detaillierteste Lehrbuch zu MQL5, das für Programmierer aller Stufen geeignet ist. Anfänger lernen die Grundlagen: Das Buch stellt Entwicklungswerkzeuge und grundlegende Programmierkonzepte vor. Auf der Grundlage dieses Materials werden Sie Ihre erste Anwendung auf der Handelsplattform MetaTrader 5 erstellen, kompilieren und ausführen. Nutzer mit Erfahrung in anderen Programmiersprachen können direkt zu den angewandten Abschnitten übergehen: Erstellung von Handelsrobotern und analytischen Anwendungen in MQL5.

„[Neuronale Netze im algorithmischen Handel mit MQL5"](https://www.mql5.com/de/neurobook), ist ein Leitfaden für die Verwendung von Methoden des maschinellen Lernens in Handelsrobotern für die Plattform MetaTrader 5. Sie werden schrittweise in die Grundlagen der neuronalen Netze und deren Anwendung im algorithmischen Handel eingeführt. Im Laufe des Kurses werden Sie Ihre eigene KI-Lösung aufbauen und trainieren und nach und nach neue Funktionen hinzufügen. Zusätzlich zum Erlernen von MQL5 werden Sie Python- und OpenCL-Programmierkenntnisse erwerben und integrierte Matrix- und Vektormethoden erforschen, die die Lösung komplexer mathematischer Probleme mit prägnantem und effizientem Code ermöglichen.

## Artikel über die Entwicklung von Handelsanwendungen [#](#articles)

[MQL5.community](https://www.mql5.com/) Diese Website bietet eine umfangreiche Bibliothek [von Artikeln über MQL4/MQL5 Programmierung](https://www.mql5.com/de/articles). Die Artikel sind ein ausgezeichneter Leitfaden für die Erstellung von Anwendungen, da sie viele praktische Aufgaben im Zusammenhang mit dem algorithmischen Handel abdecken. Jede Woche werden neue Artikel veröffentlicht.

Die Liste aller verfügbaren Artikel wir direkt im MetaEditor angezeigt. Um das benötigte Material zu finden, benutzen Sie die [online Suche](https://www.metatrader5.com/de/terminal/help/startworking/interface#search).

![Artikel zur MQL4/MQL5-Programmierung](https://www.metatrader5.com/i/help/terminal/en/articles.png)

## Typen von MQL5 Applikationen [#](#type)

Es gibt drei Haupttypen an verschiedenen Programmen.

### Expert Advisors

Expert Advisor sind mechanische Handelssysteme, die es erlauben jegliche Trading-Aktivitäten und Analysen zu automatisieren und effizient umzusetzen in den Finanzmärkten. Sie erlauben eine unverzügliche technische Analyse der Preisdaten und kontrollieren die Handelsaktivitäten auf Basis der Signale die sie erhalten. Sie helfen außerdem dabei einem Handelssystem streng zu folgen und Emotionen zu eliminieren.

Alle Expert Advisors werden im Ordner [/MQL5/Experts](https://www.metatrader5.com/de/terminal/help/start_advanced/structure#ea) der Handelsplattform gespeichert.

### Benutzerdefinierte Indikatoren

Benutzerdefinierte Indikatoren sind eigene entwickelte technische Indikatoren, die Preisbewegungen analysieren. Handelssysteme und Expert Advisors agieren in der Regel auf der Basis der Algorithmen dieser Indikatoren. Benutzerdefinierte Indikatoren werden nur für die Analyse von Preisbewegung genutzt. Indikatoren können nicht handeln haben keinen erweiterten Zugriff auf das Chart.

Alle Indikatoren werden im Ordner [/MQL5/Indicators](https://www.metatrader5.com/de/terminal/help/start_advanced/structure#indicators) der Handelsplattform gespeichert.

### Skripte

Ein Skript ist eine Applikation geschrieben in [MQL5](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#mql5) und designt für die einmalige Ausführung einer Aktion. Ein Skript kann sowohl analytische, als auch Trading-Funktionen haben. Im Gegensatz zu [Advisors](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#type), werden Skripte nur auf Nachfrage ausgeführt Anders gesagt, falls ein Expert Advisor kontinuierlich arbeitet, führt ein Skript seine Funktion aus und wird danach beendet.

Alle Skripte sind im Ordner [/MQL5/Scripts](https://www.metatrader5.com/de/terminal/help/start_advanced/structure#scripts) der Handelsplattform gespeichert.

### Dienste

[Dienste](https://www.metatrader5.com/de/terminal/help/algotrading/trade_robots_indicators#service) ermöglichen die Verwendung von benutzerdefinierten Preisfeeds für die Plattform und die Implementierung von Preislieferungen aus externen Systemen in Echtzeit, genau so, wie sie auf den Handelsservern von Brokern implementiert sind. Dienste können auch verwendet werden, um andere Serviceaufgaben im Hintergrund auszuführen.

Im Gegensatz zu Expert Advisors, Indikatoren und Skripten sind Dienste nicht an einen bestimmten Chart gebunden. Solche Anwendungen laufen im Hintergrund und werden beim Start des Terminals automatisch gestartet (es sei denn, eine solche Anwendung wurde zwangsweise gestoppt).

Alle Dienste werden unter dem Ordner [/MQL5/Services](https://www.metatrader5.com/de/terminal/help/start_advanced/structure#scripts) der Handelsplattform gespeichert.

> Innerhalb von Ordnern können alle Programme in Unterordnern sortiert werden. Die Struktur dieser Dateiortes wird im [Navigator](https://www.metatrader5.com/de/terminal/help/startworking/interface) Fenster angezeigt.

## Wie kann man eine Applikation erstellen und ausführen [#](#create)

Klicken Sie "![Im MetaEditor erstellen](https://www.metatrader5.com/i/help/terminal/en/create_icon.png) Im MetaEditor erstellen" im Kontextmenü des [Navigator](https://www.metatrader5.com/de/terminal/help/startworking/interface) Fensters in den Kategorien Experte Advisors, Indikatoren oder Skripten. Der MetaEditor kann auch über die Taste F4 gestartet werden.

![Eine Handelsanwendung erstellen](https://www.metatrader5.com/i/help/terminal/en/ea_create.png)

Damit wird der [MetaEditor](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#metaeditor) gestartet und automatisch der MQL5 Wizard geöffnet. Nutzen Sie diesen um die benötigte Vorlage einfach zu starten und sofort mit der Entwicklung zu beginnen. Lass uns beginnen ein einfaches Skript zu erstellen, dass die nachricht "Hello World" schreibt in das [Journal](https://www.metatrader5.com/de/terminal/help/start_advanced/journal).

![Der MQL5 Wizard generiert Vorlagen von Anwendungen](https://www.metatrader5.com/i/help/terminal/en/example_wizard_script.png)

In der Vorlage muss der Code Print("Hello World"); hinzugefügt werden und die Datei mit F7 kompiliert werden um eine ausführbare Datei zu erhalten. Die ausführbare Datei hat die Endung .EX5 und kann in der Handelsplattform ausgeführt werden.

![Kompilieren und die Ergebnisse](https://www.metatrader5.com/i/help/terminal/en/example_compile.png)

Die Ergebnisse der Kompilierung werden in die Log-Datei des Editors geschrieben.

In Übereinstimmung mit dem Typ der Anwendung, wird der Quellcode gespeichert in den Ordner MQL5\Scripts\. Die ausführbare Datei wird im selben Ordner erstellt. Nun können Sie in die Handelsplattform wechseln und das Skript ausführen.

![Ein Skript von der Handelsplattform ausführen](https://www.metatrader5.com/i/help/terminal/en/example_run_script.png)

> Details über die Nutzung automatischer Handelsprogramme sind beschrieben im Abschnitt ["Expert Advisors und Indikatoren"](https://www.metatrader5.com/de/terminal/help/algotrading/trade_robots_indicators).

## Eine Trading-Anwendung modifizieren [#](#modify)

Um einen Handelsroboter oder Indikator zu modifizieren, klicken Sie "![Ändern](https://www.metatrader5.com/i/help/terminal/en/modify_icon.png) Ändern" im Kontextmenü des [Navigator](https://www.metatrader5.com/de/terminal/help/startworking/interface) Fensters oder wählen Sie das Programm aus und betätigen Enter. Dadurch wird der [MetaEditor](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#metaeditor) geöffnet und der Quellcode angezeigt. Nach der Modifizierung kompilieren Sie das Programm erneut (F7). Sonst wird weiterhin die alte Version in der Plattform genutzt.

## Beenden einer Trading-Anwendung [#](#quit)

Es gibt mehrere Wege eine Handels-Anwendung zu beenden in der Handelsplattform.

| Handelsroboter | Benutzerdefinierter technischer Indikator | Skript |
| --- | --- | --- |
| - "Entfernen" klicken in der [Experten Liste](https://www.metatrader5.com/de/terminal/help/charts_advanced/charts_objects_list#ea);<br>- Wechseln der Chart [Vorlage](https://www.metatrader5.com/de/terminal/help/charts_advanced/templates_profiles);<br>- Wechseln des [Profils](https://www.metatrader5.com/de/terminal/help/charts_advanced/templates_profiles#profiles), angenommen, dass die [passende Option in den Einstellungen der Handelsplattform aktiviert ist](https://www.metatrader5.com/de/terminal/help/startworking/settings#profile);<br>- Handelsplattform ausschalten;<br>- Schließen des Charts auf dem der Expert Advisor läuft;<br>- Einen anderen Expert Advisor auf dem gleichen Chart nutzen;<br>- Klicken Sie "![Expert Advisor entfernen](https://www.metatrader5.com/i/help/terminal/en/ea_remove_icon.png)Entfernen" im Kontextmenü des Expert Advisors Icons auf dem Chart. | - Klicken Sie "![Indikator entfernen](https://www.metatrader5.com/i/help/terminal/en/delete_indicator_icon.png)Löschen" oder "![Indikator-Fenster schließen](https://www.metatrader5.com/i/help/terminal/en/delete_indicator_window.png)Indikator-Fenster schließen" im Kontextmenü des Indikators;<br>- Klicken Sie "Löschen" in der [Indikator-Liste](https://www.metatrader5.com/de/terminal/help/charts_advanced/charts_objects_list#indicators);<br>- Wechseln der Chart [Vorlage](https://www.metatrader5.com/de/terminal/help/charts_advanced/templates_profiles);<br>- Chart erneut öffnen. | - Klicken Sie "Entfernen" in der [Experten Liste](https://www.metatrader5.com/de/terminal/help/charts_advanced/charts_objects_list#ea). Das Fenster enthält auch eine Liste an laufenden Skripten;<br>- Wechseln der Chart [Vorlage](https://www.metatrader5.com/de/terminal/help/charts_advanced/templates_profiles);<br>- Wechseln des [Profils](https://www.metatrader5.com/de/terminal/help/charts_advanced/templates_profiles#profiles), angenommen, dass die [passende Option in den Einstellungen der Handelsplattform aktiviert ist](https://www.metatrader5.com/de/terminal/help/startworking/settings#profile);<br>- Wechseln des [Chart](https://www.metatrader5.com/de/terminal/help/charts_analysis/charts) Symbols;<br>- Wechseln des Chart [Zeitrahmens](https://www.metatrader5.com/de/terminal/help/charts_analysis/charts#operations);<br>- Handelsplattform ausschalten;<br>- Schließen des Charts auf dem das Skript läuft;<br>- Ein anderes Skript auf dem gleichen Chart ausführen;<br>- Klicken Sie "![Skript entfernen](https://www.metatrader5.com/i/help/terminal/en/script_remove_icon.png)Entfernen" im Kontext-Menü des Skript-Icons auf dem Chart. |

> Falls eine Handels-Applikation auf dem Chart läuft, wird diese nicht beendet, wenn Sie die ausführbare Datei aus dem [Navigator](https://www.metatrader5.com/de/terminal/help/startworking/interface) entfernen.Das Deaktivieren von Expert Advisors[in den Einstellungen der Handelsplattform](https://www.metatrader5.com/de/terminal/help/startworking/settings#enable_ea) deaktiviert diese nicht komplett. Die Einstellung verhindert nur, dass Expert Advisor traden.

## Eine heruntergeladene MQ5 Datei ausführen [#](#mq5)

Wenn Sie nur die Quellcode-Datei (*.MQ5) haben, speichern Sie diese in den entsprechenden Plattform-Ordner:

- Für Expert Advisors — /MQL5/Experts
- Für Indikatoren — /MQL5/Indicators
- Für Skripte —/MQL5/Scripts

Um schnell zum Plattformordner zu gelangen, klicken Sie "![Datei-Ordner öffnen](https://www.metatrader5.com/i/help/terminal/en/terminal_data_icon.png) Datei-Ordner öffnen" im [Datei](https://www.metatrader5.com/de/terminal/help/startworking/interface)-Menü.

Um eine Datei in der Plattform auszuführen, kompilieren Sie diese im [MetaEditor](https://www.metatrader5.com/de/terminal/help/algotrading/autotrading#metaeditor):

- MetaEditor öffnen mit F4.
- Im MetaEditor öffnen Sie die Quellcode-Datei im Navigator-Fenster mit einem doppelten Linksklick auf den Dateinamen.
- Drücken Sie F7 zum Kompilieren.

Die ausführbare Datei hat die Endung .EX5 und kann in der Handelsplattform ausgeführt werden.</t5>

> Quelldateien (*.MQ5) werden nicht im [Navigator](https://www.metatrader5.com/de/terminal/help/startworking/interface) der Handelsplattform angezeigt.

## In this section

- [Expert Advisors und benutzerdefinierte Indikatoren](https://www.metatrader5.com/de/terminal/help/algotrading/trade_robots_indicators)
- [Wo gibt es Handelsroboter und Indikatoren](https://www.metatrader5.com/de/terminal/help/algotrading/algotrading_get_ea_indicator)
- Expert Advisor oder Indikatoren erstellen
- [Strategietester](https://www.metatrader5.com/de/terminal/help/algotrading/testing)
- [Wie der Tester historische Daten herunterlädt](https://www.metatrader5.com/de/terminal/help/algotrading/test_preparation)
- [Strategie Optimierung](https://www.metatrader5.com/de/terminal/help/algotrading/strategy_optimization)
- [Tester Features](https://www.metatrader5.com/de/terminal/help/algotrading/testing_features)
- [Tester Bericht](https://www.metatrader5.com/de/terminal/help/algotrading/testing_report)
- [Tester Visualisierung](https://www.metatrader5.com/de/terminal/help/algotrading/visualization)
- [Journal des Testens](https://www.metatrader5.com/de/terminal/help/algotrading/tester_journal)
- [Optimierungstypen](https://www.metatrader5.com/de/terminal/help/algotrading/optimization_types)
- [Reale und generierte Ticks](https://www.metatrader5.com/de/terminal/help/algotrading/tick_generation)
- [MetaTester und Remote-Agenten](https://www.metatrader5.com/de/terminal/help/algotrading/metatester)
- [Globale Variablen](https://www.metatrader5.com/de/terminal/help/algotrading/service_global)

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "https://www.metatrader5.com/de/terminal/help", "name": "MetaTrader 5 Hilfe"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "https://www.metatrader5.com/de/terminal/help/algotrading", "name": "Algorithmisches Trading, Handelsroboter"}}, {"@type": "ListItem", "position": 3, "item": {"@id": "https://www.metatrader5.com/de/terminal/help/algotrading/autotrading", "name": "Expert Advisor oder Indikatoren erstellen"}} ]}
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "MetaTrader 5: Expert Advisor oder Indikatoren erstellen", "acceptedAnswer": { "@type": "Answer", "text": "Die Handelsplattform enthält eine eingebaute Programmiersprache MetaQuotes Language 5 ( MQL5 ) und den MetaEditor als Entwicklungsumgebung und..." } }] }
```
