Astrolabe
- Experten
-
Alex Amuyunzu Raymond
I’m an experienced MQL5 developer and software engineer specializing in building robust, high-performance algorithmic trading systems for MetaTrader 5. My work goes beyond standard EA development — I design intelligent, scalable solutions that combine market logic, automation, and external - Version: 1.3
- Aktivierungen: 5
Das Problem, für dessen Lösung dieser EA entwickelt wurde
Privatanleger, die als Daytrader agieren, verlieren Geld. Nicht, weil es ihnen an Intelligenz mangelt, sondern weil der Markt darauf ausgelegt ist, Geld von Teilnehmern abzuschöpfen, die zu oft, zur falschen Zeit und mit Positionsgrößen handeln, die von einem günstigen Markt ausgehen. Eine viel zitierte brasilianische Studie über hartnäckige Daytrader ergab, dass 97 % über den Untersuchungszeitraum Geld verloren haben, und die wenigen, die überlebten, taten dies, indem sie selten und kostengünstig handelten. Breakouts aus der Eröffnungsspanne bei Index-CFDs – die Strategie, auf der die meisten EAs für Privatanleger basieren – sind in akademischen Tests nach Abzug der Kosten in etwa kostendeckend. Der Vorteil, falls es einen gibt, liegt nicht im Signal. Er liegt in der Auswahl des Marktumfelds, der Kostenkontrolle und der Weigerung, zu handeln.
Astrolabe basiert auf dieser Zurückhaltung.
Was Astrolabe eigentlich ist
Astrolabe ist eine regimebewusste Session-Engine für MetaTrader 5. Sie löst nicht bei jedem Balken, jedem Tick oder jedem Crossover Orders aus. Es beobachtet drei spezifische Handelsfenster – die Eröffnung in Tokio, die Eröffnung des europäischen Kassamarktes und den Vormittag in New York – und stellt für jedes Symbol in jeder Sitzung eine einzige Frage, bevor eine Order platziert wird:
„Befindet sich der Markt in einem Zustand, in dem die Hypothese dieses Moduls eine messbare Chance hat, die Kosten zu rechtfertigen?“
Lautet die Antwort „Nein“, geschieht nichts. Der EA protokolliert die Ablehnung, aktualisiert das Dashboard und wartet ab. Der Verzicht auf einen Handel ist in Astrolabe eine gleichwertige Maßnahme, kein Fehlschlag.
Die drei Handelsmodule – standardmäßig alle deaktiviert
Jedes Modul ist eine überprüfbare Hypothese, kein Versprechen. Alle drei sind deaktiviert, wenn das Programm ausgeliefert wird . Sie aktivieren ein Modul erst, nachdem Ihre eigenen Tests Ihre eigenen „Kill Gate“-Kriterien erfüllt haben. Dies ist beabsichtigt: Der EA wurde von jemandem entwickelt, der zu viele Produktseiten gelesen hat, auf denen Vorteile versprochen werden, die sich außerhalb der Testdaten nicht bestätigen lassen.
M1 – Participation Open Drive. Bei Eröffnung einer Handelssitzung (Frankfurt 09:00 Uhr MEZ, London 08:00 Uhr UK, Tokio 09:00 Uhr JST, New York 09:30 Uhr ET, Hongkong 09:30 Uhr HKT, Kuwait 09:00 Uhr AST) berechnet Astrolabe das Hoch und Tief der Eröffnungsspanne, die Schlussposition der ersten Kerze, die Lücke gegenüber dem vorherigen Schlusskurs gemessen in ATR-Einheiten, die Beteiligungsquote (aktuelles Tick-Volumen im Eröffnungsfenster im Vergleich zum Median desselben Fensters über die letzten 20 Sitzungen) und die Effizienzquote (Nettobewegung geteilt durch den Gesamtweg). Ein Fortsetzungs-Trade wird nur dann in Betracht gezogen, wenn alle vier Kriterien übereinstimmen: Beteiligung über dem Schwellenwert, hohe Effizienz, entscheidende Schlusskursposition, Kurslücke, die nicht der Richtung entgegenwirkt. Bei Widersprüchen wird nichts unternommen. Der Einstieg erfolgt über einen ausstehenden Stopp außerhalb der Spanne, der automatisch bei Ablauf einer konfigurierbaren Einstiegsfrist storniert wird, wenn er nicht ausgeführt wurde. Der Stop-Loss liegt auf der gegenüberliegenden Seite der Spanne und ist durch die ATR begrenzt. Ausstiege erfolgen zum Schlusskurs der Sitzung oder bei Erreichen eines festen R-Ziels. Ein Spread-Guard wartet, bis der Spread des Symbols innerhalb eines Vielfachen seines Medians für dieselbe Minute liegt – ein entscheidender Schutz für die Position, da Spreads bei Index-CFDs um das Fünffache ansteigen können.
M2 – Stretch-Reversion. Ein Mean-Reversion-Modul, das aus kurzfristigen Strategien zur Abweichung vom Mittelwert abgeleitet wurde. Astrolabe berechnet den Stretch als ( Kurs − VWAP) / ATR . Er wird nur dann ausgeblendet, wenn alle folgenden Bedingungen erfüllt sind: Der Stretch übersteigt k ATR (Standardwert 2,0), es tritt ein Kapitulationsvolumen-Anstieg auf (aktuelles Volumen > das Zweifache des 19-Bar-Durchschnitts) und ein Erschöpfungszeichen erscheint – entweder ein RSI(2)-Extremwert oder eine Ablehnungskerze (Körper weniger als 40 % der Spanne). Das Ziel ist eine Rückkehr zum VWAP der Sitzung; der Stop-Loss liegt jenseits des Extremwerts zuzüglich eines ATR-Puffers. Ein Zeit-Stop schließt den Trade, wenn die Rückführung nicht schnell erfolgt. Harter Stop bei jeder Order. Niemals Durchschnittsbildung nach unten. Die Belege für eine Umkehr im M2-Stil sind schwach und stammen größtenteils aus dem Aktienbereich, daher wird das Modul ausgeliefert und die Beschreibung weist darauf hin.
M3 – Overnight-Drift (standardmäßig deaktiviert, beabsichtigt deaktiviert). Ein Long-only-Drift-Modul für den GER40, das nahe dem Xetra-Schlusskurs einsteigt und sich nach der nächsten Eröffnung abflacht. Es wird automatisch deaktiviert, sobald der „Intraday-only“- oder der „Swap-free“-Modus aktiv ist – denn der Sinn dieser Einstellungen besteht darin, Swaps zu vermeiden, während M3 bewusst über die Swap-Frist hinaus hält. Wenn Sie beide aktivieren, weigert sich M3, zu laufen. Das ist kein Fehler; so ist es vorgesehen.
Der Regime-Selektor – das Herzstück des EAs
Ist der Selektor aktiviert, bewertet Astrolabe jedes der drei Module pro Symbol und pro Sitzung und wählt das Regime mit der höchsten Punktzahlaus – oder gar keines. Erhält M1 die höchste Punktzahl, darf nur M1 handeln. Erhält M2 die höchste Punktzahl, nur M2. Erreicht keines eine Punktzahl über Null, unternimmt der EA nichts. Sie können den Selektor auch vollständig deaktivieren und ein Modul festlegen – so können Sie genau messen, welchen Mehrwert der Selektor bietet und welche Kosten durch entgangene Trades entstehen. Maximal ein Trade pro Symbol und Sitzung.
Konsens, Korrelation und die Indexgruppe
Bei den europäischen Indizes – GER40, FRA40, ITA40 um 09:00 Uhr MEZ – kann Astrolabe verlangen , dass mindestens zwei der drei Indizes in der Richtung übereinstimmen, bevor einer davon gehandelt wird, und es wird nur der Indexmit der höchsten Punktzahl ausgewählt . Es werden niemals mehr als eine Position über die drei Indizes hinweg gehalten. Dies ist ein echter Filter: Die drei Indizes sind stark korreliert, und wenn man alle drei nimmt, obwohl sie sich nicht einig sind, ist das der Grund, warum Privatanlegerkonten bei der Eröffnung halbiert werden.
Für alle Indexsymbole – GER40, FRA40, ITA40, UK100, US100, US500, JP225, HK50 – gilt eine strenge Gesamtrisikobegrenzung. Der EA summiert das Stop-Loss-Risiko aller offenen Positionen und lehnt neue Orders ab, wenn durch eine weitere Order die Obergrenze überschritten würde. Korrelationsobergrenzen gehören zu den wenigen Risikokontrollmechanismen, die tatsächlich wissenschaftlich fundiert sind, und Astrolabe betrachtet sie als unverhandelbar.
Die Risiko-Engine – oberste Priorität
Dies ist der wichtigste Teil, und er wurde als Erstes geschrieben.
-
Festgelegter Risikobetrag pro Trade (Standardwert 0,5 %, mit den Voreinstellungen „Konservativ“, „Ausgewogen“ und „Prop“).
-
Die Lotgröße wird aus SYMBOL_TRADE_TICK_VALUE , der Tick-Größe und dem Volumen (Min./Schritt/Max. ) abgeleitet – niemals aus dem Hebel und niemals aus einer angenommenen Kontraktgröße. Dies funktioniert bei den KontowährungenUSD, EUR, GBP, JPY, SGD, KWD und CHF.
-
Vor jeder Order wird der berechnete Verlust bei Stop-Loss mit dem Risikobudget abgeglichen. Wenn Broker-Limits (Mindestlotgröße, Stop-Level) die Einhaltung des Risikos unmöglich machen, lehnt der EA den Handel ab und protokolliert den Grund dafür.
-
Nach der Ausführung überprüft der EA das tatsächliche Risiko und schließt die Position mit einer Fehlermeldung, falls das realisierte Risiko falsch ist.
-
Tägliche und Gesamt-Drawdown-Stopps basieren auf dem Eigenkapital, statisch oder als Trailing-Stop, mit im Prop-Modus spezifisch engeren Grenzwerten.
-
Spread-Schutz, Abweichungs-/Slippage-Schutz, Stop-Level-Schutz, Freeze-Level-Schutz, Markt-geschlossen-Schutz, Margin-Prüfung – alles anhand der Live-Werte des Brokers.
-
Idempotenz: Magic Number plus Zustandswiederherstellung aus offenen Positionen und ausstehenden Orders. Keine Duplikate nach einem Neustart. Keine Duplikate auf doppelten Terminals.
-
Jeder Trade-Rückgabecode wird überprüft. Vorübergehende Fehler werden erneut versucht; schwerwiegende Fehler werden mit der Ursache protokolliert und abgebrochen.
-
Der Prop-Modus bietet zusätzlich konfigurierbare tägliche und Gesamt-Drawdowns, ein Nachrichtenfenster, einen Wochenend-Flat sowie eine Begrenzung der Anfragerate. Nichts in Astrolabe ist darauf ausgelegt, der Erkennung durch Prop-Firmen zu entgehen – das wäre sowohl unethisch als auch sinnlos.
Nur Intraday / Swap-frei
Standardmäßig glättet Astrolabe alle Positionen vor dem Server-Rollover (konfigurierbar, 10 Minuten vorher) und vor dem Wochenende. Dies vermeidet Swap-Gebühren auf jedem Konto und macht den EA ohne besondere Maßnahmen für islamische swapfreie Konten geeignet. Wenn Sie ein swapfreies Konto nutzen, ist diese Einstellung bereits aktiviert. Falls nicht, erspart es Ihnen Übernachtzinsen, um die Sie nie gebeten haben.
Der Nachrichtenfilter
Astrolabe nutzt den integrierten MT5-Wirtschaftskalender ( CalendarValueHistory , CalendarEventById , CalendarCountryById ). Er liest Ereignisse mit hoher Auswirkung für die Währungen Ihres gewählten Profils aus – EUR/USD für Deutschland, GBP/EUR/USD für Großbritannien, JPY/USD für Japan, USD/JPY/CNH für Singapur, USD/OIL für Kuwait – und blockiert neue Orders innerhalb eines konfigurierbaren Sperrfensters. Optional kann er offene Positionen schließen oder absichern. Sollte der Kalender nicht verfügbar sein (manche Broker deaktivieren ihn), geht der Filter nahtlos in den Notbetrieb über: Er protokolliert eine Warnung und beendet die Sperrung, anstatt den EA zu blockieren.
Anpassung pro Markt – acht Profile
Astrolabe wird mit acht Marktprofilenausgeliefert , von denen jedes seine eigenen Handelszeiten, Standardwerte für Tick-Volumen, Nachrichtenwährungen und Regeln aufweist:
| Profil | Symbole (Aliase werden automatisch aufgelöst) | Handelssitzung | Anmerkungen |
|---|---|---|---|
| Deutschland | GER40 / DE40 / DAX40 / GERMANY40 / DE30 / DAX | 09:00 Uhr MEZ/MESZ | Konsens zu |
| Frankreich | FRA40 / FR40 / CAC40 / FRANCE40 | 09:00 Uhr MEZ/MESZ | Konsens zu |
| Italien | ITA40 / IT40 / FTMIB | 09:00 Uhr MEZ/MESZ | Konsens zu |
| Großbritannien | UK100 / FTSE100 / FTSE / GB100 | 08:00 Uhr (Großbritannien) | Verwaltet die Größenbestimmung von GBP-Einsätzen bei Spread-Wetten über den Tick-Wert |
| Japan | JP225 / JPN225 / NIKKEI / JP225Cash | 09:00 JST | Optionales Gotobi-Flag (standardmäßig deaktiviert) |
| Singapur | HK50 / HSI50 / HANG SENG | 09:30 HKT | Außerdem JP225 um 09:00 Uhr JST und XAUUSD-Handelssitzung |
| Kuwait | XAUUSD / GOLD / XTIUSD / USOIL / WTI | 09:00 AST | Sonntag–Donnerstag (Standard), nur Intraday, swapfrei |
| USA | EURUSD / GBPUSD / USDJPY | 09:30 ET | FIFO-Regel gilt, kein Hedging, Indexzeilen deaktiviert |
Alias-Auflösung bedeutet, dass der EA die Bezeichnungen Ihres Brokers erkennt, selbst wenn dieser den DAX als „DE30“ oder den Hang Seng als „HSI50“ bezeichnet. Wenn keine Übereinstimmung gefunden wird, greift er auf das Chart-Symbol zurück und läuft weiter – der Validator meldet keinen Fehler.
Sommerzeit im Code implementiert, wird nicht vorausgesetzt
Die Sommerzeitdaten in den USA, der EU und Großbritannien weichen jedes Jahr um mehrere Wochen voneinander ab. In Tokio, Hongkong, Singapur und Kuwait gibt es keine Sommerzeit. Astrolabe implementiert alle diese Daten im Code – Beginn in den USA am letzten Sonntag im März, EndeNovember für das Ende in den USA, vom letzten Sonntag im März bis zum letzten Sonntag im Oktober für die EU/Großbritannien – und berechnet jede Eröffnungszeit der Börsensitzung in lokaler Börsenzeit, umgerechnet in Serverzeit über einen ermittelten GMT-Offset. OnInit ermittelt den Server-Offset des Brokers anhand von TimeTradeServer im Vergleich zu TimeGMT , und der Selbsttest überprüft die Sommerzeitumrechnung an bekannten Terminen im Juli und Januar. Kann der Offset nicht ermittelt werden, gibt der EA eine Warnung aus und setzt den Wert standardmäßig auf Null – er führt keine Handelsgeschäfte zu einer falschen Uhrzeit durch, ohne dies anzuzeigen.
Das Dashboard
Auf dem Chart, in der oberen Ecke, zehn Zeilen. Profil, aufgelöstes Symbol, Magic Number, Live-Kapital, täglicher und Gesamt-Drawdown im Vergleich zu den Limits, Lock-Status, offene Positionen und ausstehende Orders, Ein-/Aus-Status pro Modul, Regime-Auswahl und Konsens-Status, Nachrichtenfilter und Placebo-Status, letztes R-Multiple, Testzähler. Weißer Text, 9 pt, wird bei jedem neuen M1-Balken aktualisiert. Nichts Ausgefallenes, nichts Verborgenes.
Tagebuch und Handelsprotokoll (CSV)
Zwei CSV-Protokolle. Das Entscheidungsjournal erfasst jeden ausgeführten oder übersprungenen Trade mit Zeitstempel, Symbol, Regime, Flag „ausgeführt/übersprungen“, Grund, Punktzahl, Spread zum Zeitpunkt der Entscheidung, Risikobetrag und Modulname. Das Handelsergebnisprotokoll erfasst für jeden abgeschlossenen Handel das R-Multiple, die Kosten und den Spread beim Einstieg. Beide werden inkrementell und sicher geschrieben (öffnen, zum Ende springen, schreiben, schließen). OnTester schreibt am Ende jedes Backtests eine vollständige CSV-Datei pro Handel.
Testmodi – erforderlich, nicht optional
-
PLACEBO-Modus: identische Klammer, identischer Zeitpunkt, zufällige Richtung aus einem mit einem Startwert versehene PRNG. So lässt sich messen, ob das Signal bei gleichem Risikomanagement einen Mehrwert gegenüber dem Münzwurf bietet.
-
Schalter pro Modul, pro Symbol, pro Profil. M1 ausschalten, M2 einschalten, messen. Alles außer M3 ausschalten, messen.
-
Kosten- und Stress-Eingaben: Fügen Sie zusätzlichen Spread und zusätzliche Slippage in Punkten hinzu, um zu prüfen, ob der Vorteil bei doppelten Kosten bestehen bleibt.
-
OnTester-Kriterium: Nettoerwartungswert in R mit einer Strafe für die Anzahl der Trades. Gibt eine einzelne Zahl an die Optimierungstabelle des Strategietesters zurück.
-
Versuchszähler und Hinweis zu Mehrfach-Tests. Der EA gibt den Versuchszähler im Tester-Protokoll aus, sodass Sie auf jeden optimierten Parametersatz eine Strafe für Mehrfach-Tests anwenden können.
Astrolabe erfindet niemals Backtest-Ergebnisse. Es kann MT5 nicht ausführen. Es kennt Ihre Daten nicht. Es gibt Ihnen die Werkzeuge zum Testen, nicht die Antworten.
Das „Kill Gate“, das Sie anwenden sollten
Der EA verfügt über ein dokumentiertes „Kill Gate“, das in der Beschreibung und in den Code-Kommentaren aufgeführt ist:
-
Nettoerwartungswert von mindestens +0,10 R über dem Placebo mit einem positiven Bootstrap-Konfidenzintervall.
-
Auch bei doppelten Kostennoch positiv .
-
Profit-Faktor von mindestens 1,25 in Validierung und Holdout.
-
Mindestens 300 Trades.
-
In mindestens 70 % der Jahrepositiv .
-
Kein einzelnes Jahr mit mehr als 40 % des Gesamtgewinns.
-
Stabil über benachbarte Parameter hinweg.
Fehlgeschlagene Module werden verworfen, nicht optimiert. Das ist die Regel. Sie ist im Code festgeschrieben.
Was Astrolabe nicht ist
-
Es handelt sich nichtum ein Martingale-, Grid-, Averaging-Down- oder Recovery-Sizing-System. Für solche Strategien gibt es keinen Code-Pfad.
-
Es ist kein Signaldienst, keine Gewinngarantie und keine Beratung. Es verspricht niemals Gewinne. Es sagt niemals: „Damit werden Sie Geld verdienen.“
-
Es ist keine Black Box. Jede Entscheidung wird mit einer Begründung protokolliert.
-
Es handelt sich nichtum ein Lizenzsystem, einen Telegram-Bot oder ein Lokalisierungspaket. Es ist eine einzelne . mq5-Datei, die sich im MetaEditor ohne Fehler und ohne Warnungen kompilieren lässt und ausschließlich Trade \Trade.mqh aus der Standardbibliothek verwendet .
Für wen ist dies gedacht?
Privatanleger in den USA, Großbritannien, Deutschland, Frankreich, Italien, Japan, Singapur und Kuwait, die bereits Geld durch EAs verloren haben, die zu viel handeln, falsche Positionsgrößen wählen und ihre Logik verbergen. Trader, die ihr eigenes „Kill Gate“ einsetzen möchten und nicht die Marketingfloskeln anderer. Trader, die verstehen, dass ein EA, der sich weigert zu handeln, wertvoller ist als einer, der jede Stunde handelt.
Technische Fakten
-
Eine Datei: Astrolabe.mq5
-
Ein Include: Trade\Trade.mqh
-
Keine DLLs. Keine externen Dateien außer den CSV-Protokollen, die der EA selbst schreibt.
-
Weniger als 2.500 Zeilen einschließlich Kommentaren und Leerzeilen (dies ist eine Obergrenze, die bei der Entwicklung des EAs eingehalten wurde).
-
Unterstützte Kontowährungen: USD, EUR, GBP, JPY, SGD, KWD, CHF.
-
Verwendete Zeitrahmen: M1 für die gesamte Logik; keine Abhängigkeit von mehreren Zeitrahmen.
-
Funktioniert im Strategietester, im Demomodus und im Live-Modus. Selbsttest läuft auf Abruf.
