AlgoGuardDocs
AlgoGuard

AlgoGuard

Integration

Integration Guide

Anleitung zur Integration von AlgoGuard in Ihren MT5 EA

🛠️ Integrations-Anleitung für Entwickler

Diese Anleitung erklärt Schritt für Schritt, wie Sie AlgoGuard in Ihren MetaTrader 4 (MT4) oder MetaTrader 5 (MT5) Expert Advisor (EA) oder Indikator integrieren.


1. 📂 Dateien vorbereiten

Laden Sie die neuesten Dateien aus dem AlgoGuard Dashboard herunter (Bereich Downloads):

  1. AlgoGuard.mqh (Die Kern-Bibliothek)
  2. ExampleEA.mq5 (Als Referenz)

Kopieren Sie AlgoGuard.mqh in Ihren Include-Ordner:

  • MT4: Datei-Menü -> "Dateiordner öffnen" -> MQL4/Include/
  • MT5: Datei-Menü -> "Dateiordner öffnen" -> MQL5/Include/

2. 💻 Code-Integration

Öffnen Sie Ihren EA im MetaEditor und fügen Sie folgenden Code hinzu.

Schritt A: Header & Properties

Fügen Sie dies ganz oben in Ihrem Code ein:

#include <AlgoGuard.mqh>

// Optional: Versionsnummer definieren
#property version "2.00"

Schritt B: Eingabe-Parameter

Fügen Sie Inputs für den Lizenzschlüssel hinzu:

input string LicenseKey = ""; // Ihr Lizenzschlüssel

Schritt C: OnInit() - Initialisierung

In der OnInit() Funktion setzen Sie die API-URL und starten den Timer.

int OnInit()
{
   // 1. AlgoGuard API URL setzen
   AG_SetAPIBase("https://www.algoguard.dev/api/v1");

   // 2. Timer für regelmäßige Prüfungen starten (z.B. alle 10 Sekunden)
   EventSetTimer(10);

   // ... Ihr restlicher Code ...

   return(INIT_SUCCEEDED);
}

Schritt D: OnDeinit() - Aufräumen

void OnDeinit(const int reason)
{
   EventKillTimer();
}

Schritt E: OnTimer() - Die Prüfung

Hier findet die eigentliche Magie statt. Der EA prüft regelmäßig die Lizenz und stoppt sich selbst, wenn etwas nicht stimmt.

MT5 Beispiel

void OnTimer()
{
   // 1. Lizenz mit Cache verifizieren (Best Practice)
   // Prüft alle 3600s (1h). Bei Server-Ausfall wird der Cache bis zu 24h genutzt.
   if(!AG_VerifyWithCache(LicenseKey, "", 3600))
   {
      string error = AG_GetLastError();
      Print("❌ Lizenzfehler: ", error);

      // WICHTIG: Im Strategietester sofort stoppen bei Fehler!
      if(MQLInfoInteger(MQL_TESTER)) {
         Alert("⛔ Backtesting gestoppt: ", error);
         ExpertRemove();
      }
      return;
   }

   // 2. Restriktionen prüfen (Laufend)

   // A. Symbol-Check
   if(!AG_IsSymbolAllowed(Symbol())) {
      Alert("⛔ Symbol nicht erlaubt!");
      ExpertRemove();
      return;
   }

   // B. Timeframe-Check
   if(!AG_IsTimeframeAllowed(Period())) {
      Alert("⛔ Timeframe nicht erlaubt!");
      ExpertRemove();
      return;
   }
}

MT4 Beispiel

void OnTimer()
{
   // 1. Lizenz mit Cache verifizieren
   if(!AG_VerifyWithCache(LicenseKey, "", 3600))
   {
      string error = AG_GetLastError();
      Print("❌ Lizenzfehler: ", error);

      if(IsTesting()) {
         Alert("⛔ Backtesting gestoppt: ", error);
         ExpertRemove();
      }
      return;
   }

   // 2. Restriktionen prüfen
   if(!AG_IsSymbolAllowed(Symbol())) {
      Alert("⛔ Symbol nicht erlaubt!");
      ExpertRemove();
      return;
   }

   if(!AG_IsTimeframeAllowed(Period())) {
      Alert("⛔ Timeframe nicht erlaubt!");
      ExpertRemove();
      return;
   }
}

Schritt F: OnTick() - Zusätzlicher Schutz (Optional)

Für maximale Sicherheit können Sie auch vor jedem Trade prüfen:

MT5 Beispiel

void OnTick()
{
   // Backtesting-Schutz
   if(MQLInfoInteger(MQL_TESTER) && !AG_IsBacktestingAllowed()) {
      Alert("⛔ Backtesting per Lizenz deaktiviert!");
      ExpertRemove();
      return;
   }

   // ... Ihre Handelslogik ...
}

MT4 Beispiel

void OnTick()
{
   // Backtesting-Schutz
   if(IsTesting() && !AG_IsBacktestingAllowed()) {
      Alert("⛔ Backtesting per Lizenz deaktiviert!");
      ExpertRemove();
      return;
   }

   // ... Ihre Handelslogik ...
}

3. ⚙️ Einstellungen im MetaTrader

Damit der EA mit dem Lizenzserver kommunizieren darf, müssen Sie die URL freigeben:

  1. Öffnen Sie MT4/MT5 -> Extras -> Einstellungen (Ctrl+O).
  2. Gehen Sie zum Reiter Experten.
  3. Aktivieren Sie: ✅ "WebRequest für folgende URLs erlauben".
  4. Fügen Sie hinzu: https://www.algoguard.dev
  5. Klicken Sie OK.

4. 🧪 Testen

Live/Demo Test

  1. Ziehen Sie den EA auf den Chart.
  2. Geben Sie einen gültigen Lizenzschlüssel ein.
  3. Der EA sollte im "Experten"-Reiter "✅ License verified successfully" melden.

Backtesting Test

  1. Starten Sie den Strategietester.
  2. Wählen Sie Ihren EA.
  3. Hinweis: AlgoGuard erlaubt Backtesting standardmäßig, damit Sie Ihre Strategien problemlos testen können.

5. 🐶 AlgoGuard WatchDog (Optional)

Der AlgoGuard WatchDog ist ein Hilfs-EA für Monitoring und Broadcasting. Da in MT4/MT5 nur ein EA pro Chart laufen darf, muss der WatchDog auf einem separaten Chart laufen.

Installation

  1. Öffnen Sie einen neuen, leeren Chart (beliebiges Währungspaar, beliebiger Timeframe).
  2. Ziehen Sie AlgoGuard_WatchDog.ex4 (oder .ex5) auf diesen Chart.
  3. Lassen Sie diesen Chart im Hintergrund offen.

Funktion:

  • Er überwacht die Verbindung zum AlgoGuard Server.
  • Er sendet "Heartbeats" (Status-Updates).
  • Falls Sie Broadcasting nutzen: Er liest die Trades Ihres Haupt-EAs und sendet sie an den Server.
Integration Guide | AlgoGuard