Turnstile Order Gateway

Eine MQL5-Bibliothek zwischen Ihrem Expert Advisor und OrderSend. Jede Anfrage durchläuft vor dem Senden 9 Prüfungen (Verbindung, Algo Trading, Symbolmodus, Sitzung, Ordertypen, Volumen, Stops, Marge, OrderCheck). Schließungen und Änderungen, die durch das Freeze-Level, eine geschlossene Sitzung oder eine unterbrochene Verbindung blockiert sind, kommen in eine Warteschlange und werden später gesendet. Sie handelt nie selbst. Sie erhalten die kompilierte Turnstile_Order_Gateway.ex5; diese Seite ist die vollständige API-Referenz.

Schnellstart

  1. Kopieren Sie Turnstile_Order_Gateway.ex5 nach MQL5/Libraries (Datei > Dateiordner öffnen).
  2. Fügen Sie den #import-Block unten in Ihren EA oder Ihr Skript ein.
  3. Optional: TOG_Configure in OnInit (Standard 20, 3, 300, true, false).
  4. Rufen Sie TOG_ProcessQueue in OnTick oder OnTimer auf.
  5. Handeln Sie mit TOG_Open, TOG_Modify, TOG_Close. Bei 0 oder false geben Sie TOG_ReasonText(TOG_LastReason()) aus.
  6. Prüfung: Starten Sie das Beispiel unten im Strategietester; das Journal zeigt Ticket und Grund. Live Algo Trading aktivieren, sonst liefern die Prüfungen -3.

Import-Deklaration (zum Kopieren)

#import "Turnstile_Order_Gateway.ex5"
   void   TOG_Configure(int deviation, int retries, int delay_ms, bool adjust_stops, bool verbose);
   double TOG_NormalizeVolume(string symbol, double volume);
   double TOG_NormalizePrice(string symbol, double price);
   double TOG_RiskVolume(string symbol, ENUM_ORDER_TYPE type, double entry, double sl, double risk_money);
   double TOG_MaxVolume(string symbol, ENUM_ORDER_TYPE type, double share);
   ENUM_ORDER_TYPE_FILLING TOG_FillingMode(string symbol);
   int    TOG_CheckMarket(string symbol, ENUM_ORDER_TYPE type);
   int    TOG_CheckStops(string symbol, ENUM_ORDER_TYPE type, double price, double sl, double tp);
   int    TOG_CheckFreeze(ulong ticket);
   int    TOG_Preflight(string symbol, ENUM_ORDER_TYPE type, double volume, double price, double sl, double tp);
   ulong  TOG_Open(string symbol, ENUM_ORDER_TYPE type, double volume, double price, double sl, double tp, ulong magic, string comment);
   bool   TOG_Modify(ulong ticket, double price, double sl, double tp);
   bool   TOG_Close(ulong ticket, double volume);
   int    TOG_CloseAll(string symbol, long magic, bool pending);
   int    TOG_ProcessQueue();
   int    TOG_QueueCount();
   void   TOG_ClearQueue();
   int    TOG_LastReason();
   uint   TOG_LastRetcode();
   string TOG_ReasonText(int reason);
   int    TOG_RetcodeClass(uint retcode);
   int    TOG_GetStats(long &stats[]);
#import 

Grundcodes

TOG_LastReason liefert den Code, TOG_ReasonText den Text in Großbuchstaben.

  • 0 OK; 1 NO CHANGE (gleiche Werte, nichts gesendet); 2 DEFERRED (in der Warteschlange).
  • -1 BAD PARAMETERS: unbekanntes Symbol oder Typ, Pending-Preis 0, Volumen 0.
  • -2 NO CONNECTION: keine Verbindung oder keine Kurse.
  • -3 TRADING DISABLED: Algo Trading oder Kontohandel aus.
  • -4 SYMBOL MODE: deaktiviert, nur Schließen, nur Kauf oder nur Verkauf.
  • -5 MARKET CLOSED: außerhalb der Handelssitzungen.
  • -6 INVALID VOLUME: außerhalb min/max, nicht im Raster oder über dem Volumenlimit.
  • -7 INVALID STOPS: SL, TP oder Pending-Preis auf der falschen Seite oder innerhalb des Stop-Levels.
  • -8 FREEZE ZONE: Preis innerhalb des Freeze-Levels.
  • -9 NO MARGIN: Marge der Marktorder größer als freie Marge.
  • -10 ORDER TYPE BLOCKED: Typ oder SL/TP nicht erlaubt oder Limit für Pending-Orders erreicht.
  • -11 ORDERCHECK FAILED und -12 SERVER REJECTED: siehe TOG_LastRetcode.
  • -13 TICKET NOT FOUND; -14 QUEUE FULL (256 wartend).

API-Referenz

type: ORDER_TYPE_BUY, ORDER_TYPE_SELL, ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_BUY_STOP oder ORDER_TYPE_SELL_STOP (Stop-Limit liefert -1). Preise sind absolut; sl oder tp 0 bedeutet keiner.

TOG_Configure

deviation: Slippage in Punkten, ab 0 (ungültig: 20). retries: 0-10 (ungültig: 3). delay_ms: 0-5000 zwischen Versuchen (ungültig: 300). adjust_stops: true verschiebt einen SL/TP auf der richtigen Seite, aber innerhalb des Stop-Levels, auf den nächsten zulässigen Preis plus einen Tick (plus Spread, wenn der Server erneut ablehnt); false liefert -7. verbose: protokolliert Sperren, Wiederholungen und Aufschübe mit dem Präfix [TOG].

TOG_NormalizeVolume

Rundet auf das Volumenraster ab und begrenzt auf das Maximum. 0.0 unter dem Minimum, bei Volumen 0 oder unbekanntem Symbol.

TOG_NormalizePrice

Rundet auf Tickgröße und Stellen. 0.0 für Preis 0, ein leerer SL bleibt also 0.

TOG_RiskVolume

Volumen, das bei sl risk_money (Kontowährung) verliert, über OrderCalcProfit (korrekt für Kreuzpaare, Metalle, Indizes, Aktien), abgerundet. entry 0 = Ask für Käufe, Bid für Verkäufe. 0.0 mit -6, wenn schon das Mindestvolumen mehr riskiert, -7 bei sl auf der falschen Seite, -1 bei ungültigen Eingaben.

double lots = TOG_RiskVolume(_Symbol, ORDER_TYPE_BUY, 0, sl, AccountInfoDouble(ACCOUNT_BALANCE) * 0.01); 

TOG_MaxVolume

Größtes gültiges Volumen, dessen Marge in freie Marge x share passt (0-1, sonst 1), innerhalb des Maximums und des restlichen Volumenlimits. 0.0 mit -9, wenn nicht einmal das Minimum passt.

TOG_FillingMode

Ausführungsart für Marktorders: FOK falls erlaubt, sonst IOC, sonst RETURN. TOG_Open wechselt, wenn der Server sie ablehnt.

TOG_CheckMarket

Prüfungen 1-4 zum Eröffnen: Verbindung und Kurse, Algo Trading, Symbolmodus für diese Richtung, Sitzung (Serverzeit gegen die Sitzungstabelle; ohne Tabelle gilt geöffnet). Liefert 0 oder -1 bis -5.

TOG_CheckStops

Markt: sl und tp auf der richtigen Seite von Bid (Kauf) oder Ask (Verkauf), mindestens SYMBOL_TRADE_STOPS_LEVEL entfernt. Pending: der Preis ebenso zum Markt, sl und tp ab dem Preis. Liefert 0, -7, -1 oder -2.

TOG_CheckFreeze

-8, wenn Bid (Kauf) oder Ask (Verkauf) innerhalb von SYMBOL_TRADE_FREEZE_LEVEL am SL oder TP der Position liegt oder der Markt so nah am Preis einer Pending-Order ist. 0 bei Level 0, -13 bei unbekanntem Ticket.

TOG_Preflight

Alle 9 Prüfungen der Reihe nach, ohne zu senden: Marktprüfungen, Ordertypen und Pending-Limit, Volumen, Stops, Marge (Marktorders), OrderCheck. Liefert den ersten Fehler oder 0.

if(TOG_Preflight(_Symbol, ORDER_TYPE_SELL, 0.10, 0, sl, tp) != 0) Print(TOG_ReasonText(TOG_LastReason())); 

TOG_Open

Normalisiert Volumen und Preise, passt Stops an (falls aktiv), führt TOG_Preflight aus und sendet. Marktorders (price 0) wiederholen bei Requotes, Preisänderungen, Timeouts und Verbindungsfehlern mit frischen Preisen. Pending-Orders nutzen GTC oder DAY, wenn GTC nicht erlaubt ist. Liefert das Positionsticket (Markt), das Orderticket (Pending) oder 0. Wird nie eingereiht.

TOG_Modify

SL/TP einer Position oder Preis/SL/TP einer Pending-Order (price 0 behält den Preis). Gleiche Werte: true, Grund 1. Blockiert durch Freeze-Zone, geschlossene Sitzung oder fehlende Verbindung: false, Grund 2, eingereiht; ein neuerer Aufruf für das Ticket ersetzt ihn.

TOG_Close

Schließt eine Position oder löscht eine Pending-Order. volume 0 oder das volle Volumen schließt alles; weniger schließt teilweise (abgerundet); ein Rest unter dem Minimum schließt alles. Blockiert wie oben: false, Grund 2, eingereiht (ersetzt eine eingereihte Änderung).

TOG_CloseAll

TOG_Close für jede Position (und Pending-Order, wenn pending) mit passendem symbol ("" = alle) und magic (-1 = beliebig). Liefert die Zahl der jetzt geschlossenen.

TOG_ProcessQueue

Sendet eingereihte Aktionen, sobald sie frei sind; in OnTick oder OnTimer aufrufen. Eine Aktion verlässt die Warteschlange bei Erfolg, wenn ihr Ticket fehlt oder bei anderem Fehler; nach einer Serverablehnung wartet sie eine Sekunde. Liefert die Zahl der erledigten.

TOG_QueueCount und TOG_ClearQueue

Wartende Aktionen (maximal 256); alle ohne Senden verwerfen.

TOG_LastReason, TOG_LastRetcode und TOG_ReasonText

Grund des letzten Aufrufs; letzter Server-Retcode (0, wenn nichts gesendet wurde); Text eines Grundcodes (sonst "UNKNOWN").

TOG_RetcodeClass

0 DONE (platziert, ausgeführt, teilweise, keine Änderung, Position geschlossen), 1 RETRY (Requote, Ablehnung, Fehler, Timeout, Preis geändert oder ungültig, keine Kurse, zu viele Anfragen, gesperrt, Verbindung), 2 FIX (ungültige Anfrage, Volumen, Stops, Ablauf, Ausführung, Order), 3 WAIT (Markt geschlossen, eingefroren), 4 FATAL (übrige, z. B. kein Geld).

TOG_GetStats

Füllt stats[] mit 10 Zählern, liefert 10: 0 Anfragen, 1 gesendet, 2 erledigt, 3 blockiert, 4 Wiederholungen, 5 aufgeschoben, 6 aus Warteschlange erledigt, 7 abgelehnt, 8 Stops angepasst, 9 verworfen.

Funktionierendes Integrationsbeispiel

#import "Turnstile_Order_Gateway.ex5"
   double TOG_RiskVolume(string symbol, ENUM_ORDER_TYPE type, double entry, double sl, double risk_money);
   ulong  TOG_Open(string symbol, ENUM_ORDER_TYPE type, double volume, double price, double sl, double tp, ulong magic, string comment);
   bool   TOG_Close(ulong ticket, double volume);
   int    TOG_ProcessQueue();
   int    TOG_LastReason();
   string TOG_ReasonText(int reason);
#import

ulong ticket = 0;
bool  tried  = false;

void OnTick()
{
   TOG_ProcessQueue();
   if(!tried)
   {
      tried = true;
      double sl   = SymbolInfoDouble(_Symbol, SYMBOL_BID) - 300 * _Point;
      double lots = TOG_RiskVolume(_Symbol, ORDER_TYPE_BUY, 0, sl, 10.0);
      ticket = TOG_Open(_Symbol, ORDER_TYPE_BUY, lots, 0, sl, 0, 7001, "turnstile");
      Print("open ", ticket, ": ", TOG_ReasonText(TOG_LastReason()));
   }
   if(ticket > 0 && PositionSelectByTicket(ticket) && PositionGetDouble(POSITION_PROFIT) > 5.0)
      Print("close: ", TOG_Close(ticket, 0), " ", TOG_ReasonText(TOG_LastReason()));
} 

Architektur und Hinweise

  • Jedes importierende Programm hat eigene Einstellungen, Statistiken und eine Warteschlange im Speicher (geht beim Entfernen des EA oder Neustart des Terminals verloren).
  • Prüfungen lesen nur Terminaldaten; nur TOG_Open, TOG_Modify, TOG_Close, TOG_CloseAll und TOG_ProcessQueue senden, synchron.
  • Varianten: Validator-Sicherheit = Standardwerte plus TOG_ProcessQueue in OnTick; strikte Stops = adjust_stops false; Entwicklung = verbose true und TOG_GetStats im Panel.
  • MetaTrader 5, Netting und Hedging, jedes Symbol; nur EAs und Skripte. Sicher im Strategietester, bei der Optimierung und im MQL5 Cloud Network (keine DLL, Dateien, Webanfragen; keine Pause zwischen Versuchen im Tester).
  • Keine Chartobjekte, Timer, Dateien oder globalen Variablen; kann ein Symbol zur Marktübersicht hinzufügen, um Kurse zu lesen.
  • Ein Feiertag, der in der Sitzungstabelle fehlt, wird an der Serverantwort als -5 erkannt.
  • Nicht unterstützt: Stop-Limit-Orders, Close-By, OrderSendAsync.

Risikohinweis

Die Bibliothek prüft und sendet die Anfragen Ihres Codes. Sie wählt keine Einstiege und garantiert weder Ausführungen noch Preise oder Gewinne. Testen Sie zuerst auf einem Demokonto.

Weitere Produkte dieses Autors
EA Budak Ubat
Syarief Azman Bin Rosli
4 (3)
So funktioniert es Wenn der EA aktiv ist, analysiert er den Chart basierend auf dem Ausführungsmodus-Parameter. Wenn auf dem Chart keine offenen Positionen vorhanden sind, wird der EA eine Handelsposition basierend auf den Parametern eröffnen. Wenn der Trend bullisch ist, wird er eine Kaufposition eröffnen, und wenn er bärisch ist, wird er eine Verkaufsposition eröffnen. Zudem wird er eine Stop-Loss-Order in einem bestimmten Abstand vom Eröffnungspreis der Position platzieren, wenn die Stop-Lo
EA Budak Ubat MT5
Syarief Azman Bin Rosli
EA Budak Ubat MT5 ist ein automatisierter Grid-Martingale-Expert-Advisor für MetaTrader 5. Das System kombiniert technische Trendanalyse, dynamische Volatilitätsanpassung und mehrstufiges Risikomanagement für volatile und trendstarke Marktphasen. Optimiert für den M5-Timeframe auf Hauptwährungspaaren und Gold (XAUUSD). ### Hauptmerkmale • 4 Wählbare Analysemethoden:   1. Classic Candle: Kerzenmuster und Richtungsimpuls.   2. SMA20: Kreuzung des 20-Perioden Simple Moving Average.   3. Alligato
Indi RBO
Syarief Azman Bin Rosli
Eingabe: Bereichsstartzeit: Die Startzeit der Bereichserstellung Range End Time : Der Endzeitpunkt der Range-Erstellung Trade End Time : Die Zeit, bis zu der die Linie der Range Zone High/Low verlängert wird Minimum Size : Die Mindestgröße der Range in Punkten Maximum Size : Die maximale Größe des Bereichs in Punkten Wenn die Größe der Handelsspanne zwischen dem Minimum und dem Maximum liegt, druckt der Indikator die erste Farbe (blau).
Apex Flow Reversion
Syarief Azman Bin Rosli
# Apex Flow Reversion MT4 Apex Flow Reversion ist ein automatisiertes Handelssystem für MetaTrader 4, das eine statistische Intraday-Mean-Reversion-Strategie ausführt. Das System überwacht die Kursabweichung von einer dynamischen volumengewichteten Durchschnittspreislinie (VWAP) und identifiziert Erschöpfungszonen mithilfe von Standardabweichungsbändern, RSI-Impulsfiltern und ATR-Volatilitätsgrenzen. ## Strategieübersicht Der Algorithmus berechnet eine fortlaufende intraday VWAP-Kurve, gewic
Vortex Confluence Radar
Syarief Azman Bin Rosli
Vortex Confluence Radar MT4 Vortex Confluence Radar ist eine Multi-Oszillator-Konfluenz-Bewertungsengine, die nativ für MetaTrader 4 entwickelt wurde. Der Indikator fusioniert drei bewährte technische Oszillatoren — Relative Vigor Index (RVI), Commodity Channel Index (CCI) und Williams Percent Range (WPR) — zu einem einheitlichen Momentum-Histogramm mit geglätteter Signallinie und automatisierten Schnittpunkt-Warnsignalen. Architektur und visuelle Signale Der Indikator arbeitet in einem separate
Kinetix Speed Commander
Syarief Azman Bin Rosli
Kinetix Speed Commander MT4 Kinetix Speed Commander   ist ein professionelles One-Click-Handelscockpit, ein dynamischer Positionsgrößenrechner und ein Risk-Reward-Ordermanagement-Terminal für MetaTrader 4. Entwickelt für Händler bei Prop-Trading-Firmen, anspruchsvolle Scalper und systematische Daytrader, eliminiert der Kinetix Speed Commander Verzögerungen bei manuellen Berechnungen, Fehleingaben bei der Lot-Größe und unkontrollierte Hebelrisiken. Die Utility wird über ein performantes, im moder
Prism Candle Forge
Syarief Azman Bin Rosli
Prism Candle Forge — Candlestick-Mustererkennungs-Engine für MT4 Prism Candle Forge ist eine native MQL4-Bibliothek zur Erkennung und Validierung von über 20 Candlestick-Mustern mittels ATR-gewichteter geometrischer Analyse. Sie bietet Musteridentifikation, Richtungs-Konfidenzwerte, Kerzenmorphologie-Klassifizierung und Trendvalidierung über 8 exportierte Funktionen für EAs, Indikatoren und Skripte. Keine DLLs, keine Abhängigkeiten, reine MQL4-Berechnung. Wird als kompilierte Binärdatei (Prism_C
Sigma Squeeze Reactor
Syarief Azman Bin Rosli
Sigma Squeeze Reactor Bollinger-Keltner Volatilitats-Squeeze Breakout Expert Advisor Sigma Squeeze Reactor ist ein hochentwickelter Ausbruchs-Expert-Advisor fur MetaTrader 4, der explosive Kursbewegungen nach Volatilitatskompressionen erkennt und automatisiert handelt. Das System identifiziert Phasen, in denen sich die Bollinger Bander innerhalb der Keltner-Kanale verengen (der klassische Volatilitats-Squeeze), und steigt bei der Freisetzung der Kompression mit Momentum-Bestatigung zielgerichtet
Fulcrum Value Profile
Syarief Azman Bin Rosli
Fulcrum Value Profile ist ein MetaTrader-4-Indikator, der für jede Session ein Tick-Volumenprofil erstellt, den Point of Control (POC) und die Value Area markiert, den sich entwickelnden POC/VAH/VAL als Linien zeichnet, unberührte POCs (naked POC) verfolgt und auf geschlossenen Kerzen zwei Setups markiert: Rückkehr in die vorherige Value Area (80%-Regel) und Akzeptanz außerhalb davon (Ausbruch). Er eröffnet, ändert oder schließt niemals Trades. Schnellstart Indikator auf einen M5-, M15- oder M30
Filament Tripline Console
Syarief Azman Bin Rosli
Filament Tripline Console verwandelt Ihre eigenen horizontalen Linien und Trendlinien in scharf geschaltete "Stolperdrähte" (Triplines). Berührt der Kurs eine Linie oder schließt eine Kerze jenseits davon, führt die Tripline ihre Aktion aus: einen Alarm, einen Markt-Kauf BUY oder -Verkauf SELL mit automatischer Lotgröße, Stop Loss und Take Profit, oder ein EXIT, das Positionen schließt. Es handelt nie nach eigener Analyse, sondern nur an Linien, die Sie scharf schalten. Schnellstart Ziehen Sie d
Spectra Trend Ribbon
Syarief Azman Bin Rosli
# Spectra Trend Ribbon MT5 Spectra Trend Ribbon ist ein nativer MetaTrader 5 Indikator zur Identifikation von Trendrichtungen und Phasen der Volatilitätsexpansion. Er kombiniert eine adaptive, geglättete zentrale Trendlinie mit dynamischen Volatilitätsbändern und automatisierten Ausbruchssignalen. ## Erklärung der visuellen Signale Der Indikator visualisiert fünf eindeutige Komponenten im Chart: 1. Zentrale adaptive Basislinie (Mehrfarbige Linie) - Grüne Farbe: Kurs notiert über der Basisli
Aegis Risk Sentinel
Syarief Azman Bin Rosli
Aegis Risk Sentinel MT5 Aegis Risk Sentinel   ist ein professionelles Echtzeit-Risikomanagement- und Eigenkapitalschutz-Dienstprogramm (Utility), das nativ für MetaTrader 5 entwickelt wurde. Es wurde speziell für Prop-Firm-Trader, professionelle Fondsmanager und private Daytrader konzipiert, um mathematische Disziplin auf dem Handelskonto durchzusetzen und verheerende Drawdowns, emotionale Revanche-Trades und Margin Calls zuverlässig zu verhindern. Das Dienstprogramm verfügt über ein reaktionssc
Stratos Momentum Engine
Syarief Azman Bin Rosli
Stratos Momentum Engine MT5 Stratos Momentum Engine ist ein vollautomatisches Multi-Timeframe-Handelssystem für MetaTrader 5, das auf einer Ausbruchs- und Momentumstrategie basiert. Der Expert Advisor verknüpft die übergeordnete Trendidentifikation auf der H1-Zeitebene mit präzisem Momentum-Timing und Ausbruchsbestätigungen auf der M15-Zeitebene. Das System nutzt die mathematische Steigung einer linearen Regression nach der Methode der kleinsten Quadrate zur Bestimmung der übergeordneten Trendri
Nexus Quant Matrix
Syarief Azman Bin Rosli
Nexus Quant Matrix MT5 Nexus Quant Matrix   ist eine quantitative Berechnungs- und Streaming-Statistikbibliothek auf institutionellem Niveau, die nativ für MetaTrader 5 entwickelt wurde. Konzipiert für quantitative Entwickler, systematische Hedgefonds und algorithmische Systemarchitekten, ermöglicht Nexus Quant Matrix hochperformante mathematische Berechnungen direkt in der MQL5-Laufzeitumgebung ohne externe DLLs, Python-Bridges oder C++-Abhängigkeiten. Mit einer algorithmischen Zeitkomplexität
Quasar Regime Cloud
Syarief Azman Bin Rosli
Quasar Regime Cloud ist ein Marktregime-Indikator für MetaTrader 5. Er bestimmt, ob sich der Kurs aktuell in einem Trend oder in einer Seitwärtsphase befindet, und zeigt das Ergebnis direkt im Chart mit einer fraktal-adaptiven Wolke. Signale entstehen nur, wenn der Markt als trendend eingestuft ist. Dadurch werden viele Fehlkreuzungen in Seitwärtsmärkten herausgefiltert. Funktionsweise 1. Schätzung der fraktalen Dimension Für jeden Balken schätzt der Indikator die fraktale Dimension (D) des Kur
Isobar Event Shield
Syarief Azman Bin Rosli
Isobar Event Shield schützt Ihre Trades in MetaTrader 5 vor Wirtschaftsnachrichten. Es liest den im Terminal integrierten Wirtschaftskalender, zählt bis zu jeder Veröffentlichung herunter, die Ihre Symbole betrifft, und wendet kurz davor den gewählten Schutz auf die Positionen und Pending Orders an, die Sie oder andere Expert Advisors bereits halten. Eigene Trades eröffnet es nie. Schnellstart Hängen Sie das Werkzeug an einen Chart (eine Kopie pro Terminal) und aktivieren Sie Algo Trading in de
Riptide Sweep Reclaimer
Syarief Azman Bin Rosli
Riptide Sweep Reclaimer ist ein Expert Advisor für MetaTrader 5, der Liquiditäts-Sweeps einer ruhigen Session-Range handelt: Er misst Hoch und Tief eines frei wählbaren Zeitfensters (Standard 00:00-08:00 Serverzeit), wartet, bis die nächste Session eine Seite durchstößt, und handelt gegen die Bewegung, sobald eine Kerze wieder innerhalb der Range schließt. Ziele sind die Mitte und die Gegenseite der Range. Eine Position zur Zeit im Chartsymbol; kein Grid, kein Martingale, kein Nachkaufen. Schne
Auswahl:
Keine Bewertungen
Antwort auf eine Rezension