Falsche Margin-Berechnung bei JPY-Paaren (100x zu hoch) und Öl (3x zu niedrig) - SymbolInfoDouble Bug?

 
Hallo MT5 Community,

ich habe ein systematisches Problem mit der Margin-Berechnung bei bestimmten Instrumenten in MT5. Die SymbolInfoDouble() Funktion liefert für JPY-Paare extrem überhöhte und für Öl deutlich zu niedrige Margin-Werte. Ich hoffe, jemand kann mir helfen zu verstehen, ob das ein Bug ist oder ich etwas falsch mache.

## DAS PROBLEM

Ich entwickle ein automatisches Trading-System, das Positionsgrößen basierend auf Margin-Anforderungen berechnet. Beim Export der Symbol-Daten über SymbolInfoDouble(symbol, SYMBOL_MARGIN_INITIAL) erhalte ich für bestimmte Instrumente völlig falsche Margin-Werte.

## BETROFFENE SYMBOLE & MUSTER

### 1. JPY-PAARE - 100x ZU HOCH
- USDJPY: Liefert 490.840 JPY Margin | Erwartet: ~4.908 JPY (0,01 Lot = 28,51 EUR)
- EURJPY: Liefert 573.812 JPY Margin | Erwartet: ~5.738 JPY (0,01 Lot = 33,33 EUR)
- GBPJPY: Liefert 662.130 JPY Margin | Erwartet: ~6.621 JPY (0,01 Lot = 38,43 EUR)

### 2. ÖL (ROHSTOFF) - 3x ZU NIEDRIG  
- USOUSD: Liefert 2.320,68 USD Margin | Erwartet: ~6.962 USD (0,01 Lot = 59,30 EUR)

### 3. FUNKTIONIERT KORREKT
- EURUSD: Liefert 3.896,85 USD Margin ✓
- GBPUSD: Liefert 4.496,53 USD Margin ✓
- Alle Krypto-Paare (BTCUSD, ETHUSD, etc.) ✓
- Alle Edelmetall-Paare (XAUUSD, XAGUSD, etc.) ✓

## MEINE ANALYSE

Ich habe die Margin pro Contract-Einheit berechnet, um Muster zu erkennen:

**NORMALE FOREX (funktioniert korrekt):**
- EURUSD: 0,0390 USD pro Einheit
- GBPUSD: 0,0450 USD pro Einheit  
- AUDUSD: 0,0219 USD pro Einheit

**PROBLEMATISCHE FOREX (JPY-Paare):**
- USDJPY: 4,9084 JPY pro Einheit (100x höher als erwartet)
- EURJPY: 5,7381 JPY pro Einheit (100x höher als erwartet)
- GBPJPY: 6,6213 JPY pro Einheit (100x höher als erwartet)

**PROBLEMATISCHER ROHSTOFF:**
- USOUSD: 2,3207 USD pro Einheit (deutlich niedriger als erwartet)

## TECHNISCHE DETAILS

- Plattform: MetaTrader 5 (aktuelle Version)
- Broker: Naga
- Konto-Typ: Naga Eurpeon Demo Konto
- Alle Symbole haben identische Einstellungen:
  - Contract Size: 100.000 für FOREX
  - Contract Size: 1.000 für USOUSD
  - Hebel: 1:30
  - Gleicher Margin-Berechnungsmodus

## MEIN EXPORT-CODE (vereinfacht)

```mql5
double margin = SymbolInfoDouble(symbol, SYMBOL_MARGIN_INITIAL);
double contractSize = SymbolInfoDouble(symbol, SYMBOL_TRADE_CONTRACT_SIZE);
string quoteCurrency = SymbolInfoString(symbol, SYMBOL_CURRENCY_PROFIT);

// Export nach CSV für Analyse
Print(symbol, ";", margin, ";", contractSize, ";", quoteCurrency);
```

## FRAGEN AN DIE COMMUNITY

1. **Ist das ein bekanntes Problem mit JPY-Paaren und bestimmten Rohstoffen?**
2. **Verwende ich die falschen SymbolInfo-Funktionen für diese Asset-Typen?**
3. **Könnte das ein broker-spezifisches Konfigurationsproblem sein?**
4. **Gibt es eine andere Berechnungsmethode für JPY-Paare?**
5. **Sollte ich andere Margin-Parameter für Rohstoffe verwenden?**

## WAS ICH BEREITS VERSUCHT HABE

- Alle Symbol-Einstellungen auf Identität überprüft
- Margin-Berechnungsmodi kontrolliert (alle zeigen identische Werte)
- Auf verschiedenen Zeitrahmen getestet (gleiche Ergebnisse)
- Mit der Web-Plattform des Brokers verglichen (Web-Plattform zeigt erwartete Werte!)

## AUSWIRKUNGEN

Das betrifft die Positionsgrößen-Berechnung in meinem automatischen Trading-System. Während 10% Abweichung aufgrund von Marktbewegungen akzeptabel wäre, machen 300% (3x) bis 10.000% (100x) Unterschiede ein automatisches Risikomanagement unmöglich.

## ZUSÄTZLICHE INFORMATIONEN

- Konto-Währung: EUR
- Risiko pro Trade: 10% des Kontos
- Erwartete Margin-Werte über Broker-Web-Interface verifiziert
- Problem besteht auch nach Plattform-Neustart
- Alle betroffenen Symbole handlungsbereit und aktiv

Hat jemand ähnliche Erfahrungen gemacht oder kennt eine Lösung?

Vielen Dank im Voraus für eure Hilfe!

---

**System-Info:**
- Windows 11 / MT5 Build [aktuelle Version]
- Problem tritt konstant auf allen betroffenen Symbolen auf
- Normale Kursdaten (Bid/Ask) werden korrekt übertragen
 

schau dir mal den calc mode an, da steht die genaue berechnung


ENUM_SYMBOL_CALC_MODE