Fix XAU/USD display name, pip value, and invalid symbol validation

- config.py: add XAU/USD and XAG/USD to SYMBOL_DISPLAY; add PIP_VALUES
  map for commodities (gold pip = $0.01, not $0.0001)
- data_provider.py: use PIP_VALUES in get_pair_info so gold trade setup
  shows correct pip counts instead of 269,000 pips for a $27 SL
- main.py: validate symbols in symbol_from_name — rejects non-alpha
  inputs like '15M' with a helpful hint to use --timeframe instead

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Harwinder
2026-05-04 15:59:34 -04:00
parent a15fc6db91
commit 94b93cf1e7
3 changed files with 29 additions and 9 deletions
+10 -1
View File
@@ -48,7 +48,7 @@ CROSS_PAIRS = [
"EURCHF=X", "CADJPY=X",
]
# Yahoo Finance symbol mapping for display
# Symbol display names
SYMBOL_DISPLAY = {
"EURUSD=X": "EUR/USD", "GBPUSD=X": "GBP/USD",
"USDJPY=X": "USD/JPY", "USDCHF=X": "USD/CHF",
@@ -57,6 +57,15 @@ SYMBOL_DISPLAY = {
"EURJPY=X": "EUR/JPY", "GBPJPY=X": "GBP/JPY",
"AUDJPY=X": "AUD/JPY", "EURCHF=X": "EUR/CHF",
"CADJPY=X": "CAD/JPY",
# Commodities
"XAUUSD=X": "XAU/USD", "XAGUSD=X": "XAG/USD",
}
# Pip values per symbol (used for trade setup risk/reward in pips)
# Commodities and JPY pairs differ from the standard 0.0001 forex pip
PIP_VALUES = {
"XAUUSD=X": 0.01, # Gold: 1 pip = $0.01
"XAGUSD=X": 0.001, # Silver: 1 pip = $0.001
}