29 January, 2026

Analyse der Handelsstrategie „Kopf oder Zahl“ – Quellcode MQL5

ForTrader.org

Inhalt

  • Wesen der Handelsstrategie
  • Vorteile und Nachteile der Strategie
  • Programmcode des Experts
    • Allgemeine Dateistruktur
    • Einbindung von Bibliotheken und Deklaration von Variablen
    • Funktion OnInit() – Initialisierung des Robots
    • Funktion OnTick() – Verarbeitung neuer Kurse
    • Funktion OnDeinit() – Deinitialisierung
    • Wie funktioniert der Robot insgesamt?
    • Wichtige Hinweise für Anfänger
    • Was kann verbessert werden

Wesen der Handelsstrategie

Die Hauptidee besteht darin:

  • Auswahl des Assets: Der Trader wählt ein Finanzinstrument für den Handel (z. B. Aktien, Währungen).
  • Münzwurf: Die Richtung des Handels wird zufällig gewählt („kaufen“ oder „verkaufen“).
  • Eröffnung einer Position: Nach der Wahl der Seite wird ein Trade mit einem vordefinierten Volumen eröffnet.
  • Risikomanagement: Stop-Loss und Take-Profit werden gesetzt – Level zur Begrenzung von Verlusten und Fixierung von Gewinnen.

So reduziert sich die gesamte Handelsaktivität auf eine zufällige Wahl der Preisbewegungsrichtung, was den Entscheidungsprozess erheblich vereinfacht.

Vorteile und Nachteile der Strategie

Vorteile der Taktik:

  1. Keine Notwendigkeit für komplexe technische oder fundamentale Marktanalysen.
  2. Kein ständiges Marktmonitoring – reduziert den Stresspegel.
  3. Die Strategie lässt sich leicht automatisieren und in automatisierten Handelssystemen einsetzen.

Nachteile:

  1. Erfolgsquote beträgt nur 50 %, deutlich unter den meisten professionellen Strategien.
  2. Ignorieren wichtiger wirtschaftlicher Indikatoren und technischer Signale erhöht Verlustrisiken.
  3. Für Risikominimierung ist ein erhebliches Handelskapital empfehlenswert, um Verluste abzufedern.

Für eine erfolgreiche Umsetzung der Strategie sind folgende Punkte wichtig:

  • Optimal ist die Eröffnung von Positionen mit einem Volumen von maximal 1 % des Gesamthandelskapitals.
  • Strenge Einhaltung der Stop-Loss- und Take-Profit-Level.
  • Diversifikation der Assets: Der Einsatz verschiedener Finanzinstrumente senkt das Gesamtrisiko des Portfolios.

Anfängern wird empfohlen, die Strategie „Kopf oder Zahl“ zunächst auf Demokonten zu testen, um ihr Potenzial zu bewerten und eigene Ansätze zum Positionsmanagement zu entwickeln.

Programmcode des Experts

1. Allgemeine Dateistruktur

Die Expert-Datei beginnt mit einem Kopfkommentar, in dem angegeben ist:

  • Dateiname (VR Heads or Tails.mq5);
  • Informationen zum Autor und Erscheinungsjahr;
  • Website des Entwicklers.

Darauf folgen #property-Direktiven, die Metadaten des Experts festlegen: Urheberrechte, Version und erforderliche Links.

2. Einbindung von Bibliotheken und Deklaration von Variablen

Für den Umgang mit Handelsoperationen werden Standard-MQL5-Bibliotheken eingebunden:

mql5n#include <Trade\Trade.mqh>nnCTrade trade; // Instanz der Klasse zur Handelssteuerungnn#include <Trade\PositionInfo.mqh>nnCPositionInfo posit; // Instanz zur Speicherung von Positionsinformationen
  • CTrade – Klasse zum Senden von Handelsaufträgen (Käufe, Verkäufe);
  • CPositionInfo – Klasse zum Abrufen von Daten zu offenen Positionen.

Dann werden die Eingabeparameter des Experts deklariert (benutzerdefiniert im MT5-Interface):

mql5ninput double iStartLots = 0.01; // Startlotninput int iTakeProfit = 450; // Take-Profit (in Punkten)ninput int iStopLoss = 390; // Stop-Loss (in Punkten)ninput int iMagicNumber = 227; // Eindeutige Transaktions-IDninput int iSlippage = 30; // Maximal zulässiges Slippage
  • iStartLots – Volumen des ersten Trades;
  • iTakeProfit und iStopLoss – Gewinn- und Verlustlevel;
  • iMagicNumber – Zahl zur Identifikation der Robot-Trades (zur Unterscheidung von manuellen);
  • iSlippage – zulässige Preisabweichung bei der Orderausführung.

3. Funktion OnInit() – Initialisierung des Robots

Diese Funktion wird einmalig beim Start des Experts ausgeführt. Ihre Aufgabe ist die Konfiguration der Handelsparameter:

mql5nint OnInit() {nntrade.SetExpertMagicNumber(iMagicNumber); // MagicNumber setzennntrade.SetDeviationInPoints(iSlippage); // Slippage festlegennntrade.SetTypeFillingBySymbol(_Symbol); // Ausführungstyp nach Symbolnntrade.SetMarginMode(); // Margin-Modus (Hedging)nnMathSrand(GetTickCount()); // Zufallsgenerator initialisierennnreturn(INIT_SUCCEEDED); // Erfolgreichen Start meldennn}

Schlüsselaktionen:

  1. SetExpertMagicNumber() – weist Trades eine eindeutige ID zu.
  2. SetDeviationInPoints() – legt maximales Slippage fest.
  3. SetTypeFillingBySymbol() – konfiguriert den Orderausführungstyp (z. B. „Markt“).
  4. SetMarginMode() – aktiviert Hedging-Modus (separate Positionen pro Instrument).
  5. MathSrand() – initialisiert den Zufallsgenerator (für zufällige Richtungsentscheidung).

4. Funktion OnTick() – Verarbeitung neuer Kurse

Diese Funktion wird bei jedem neuen Tick (Preisänderung) aufgerufen. Wir zerlegen sie in Teile.

4.1. Abruf von Marktdaten und Positionen

mql5nint total = ::PositionsTotal(); // Anzahl offener Positionennndouble Bid = ::SymbolInfoDouble(_Symbol, SYMBOL_BID); // BID-Preisnndouble Ask = ::SymbolInfoDouble(_Symbol, SYMBOL_ASK); // ASK-Preis
  • PositionsTotal() – gibt die Anzahl offener Positionen zurück;
  • SymbolInfoDouble() – holt aktuelle BID (Verkauf) und ASK (Kauf) Preise.

Wenn Preise ungültig (≤ 0) sind, b

ForTrader.org

ForTrader.org

Author

Подпишитесь на нас в VK

Fortrader contentUrl Suite 11, Second Floor, Sound & Vision House, Francis Rachel Str. Victoria Victoria, Mahe, Seychelles +7 10 248 2640568

Recent educational articles

All articles

The editor recommends

Loading...