🛠️ 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):
AlgoGuard.mqh(Die Kern-Bibliothek)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:
- Öffnen Sie MT4/MT5 -> Extras -> Einstellungen (Ctrl+O).
- Gehen Sie zum Reiter Experten.
- Aktivieren Sie: ✅ "WebRequest für folgende URLs erlauben".
- Fügen Sie hinzu:
https://www.algoguard.dev - Klicken Sie OK.
4. 🧪 Testen
Live/Demo Test
- Ziehen Sie den EA auf den Chart.
- Geben Sie einen gültigen Lizenzschlüssel ein.
- Der EA sollte im "Experten"-Reiter "✅ License verified successfully" melden.
Backtesting Test
- Starten Sie den Strategietester.
- Wählen Sie Ihren EA.
- 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
- Öffnen Sie einen neuen, leeren Chart (beliebiges Währungspaar, beliebiger Timeframe).
- Ziehen Sie
AlgoGuard_WatchDog.ex4(oder.ex5) auf diesen Chart. - 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.