113 lines
5.6 KiB
Bash
113 lines
5.6 KiB
Bash
# ══════════════════════════════════════════════════════════════════
|
|
# AHAD QUANT — Configuration (.env)
|
|
# Copier ce fichier : cp .env.example .env
|
|
# Puis remplir vos valeurs — NE JAMAIS commiter .env sur GitHub
|
|
# ══════════════════════════════════════════════════════════════════
|
|
|
|
# ─── Broker principal ─────────────────────────────────────────────
|
|
# Valeurs : oanda | mt5 | alpaca | ccxt | ib | paper
|
|
EXCHANGE=oanda
|
|
|
|
# ─── Source de données historiques ────────────────────────────────
|
|
# auto | oanda | yfinance | twelvedata | alphavantage | mt5 | ccxt
|
|
DATA_SOURCE=auto
|
|
|
|
# ─── Mode paper (simulation sans argent réel) ─────────────────────
|
|
PAPER_MODE=true
|
|
PAPER_INITIAL_BALANCE=10000.0
|
|
|
|
# ─── OANDA (broker Forex principal) ───────────────────────────────
|
|
# Inscription : https://www.oanda.com/
|
|
# Clé API : Mon Compte → Gestion des clés API v20
|
|
OANDA_API_KEY=
|
|
OANDA_ACCOUNT_ID=
|
|
OANDA_PRACTICE=true # true = compte démo | false = compte réel
|
|
|
|
# ─── MetaTrader 5 (optionnel — Windows uniquement) ────────────────
|
|
MT5_LOGIN=0
|
|
MT5_PASSWORD=
|
|
MT5_SERVER=
|
|
MT5_BRIDGE_ENABLED=false
|
|
MT5_FILES_PATH= # Ex: C:\Users\Vous\AppData\Roaming\MetaQuotes\Terminal\<ID>\MQL5\Files
|
|
MT5_SYMBOL_SUFFIX= # Ex: .m pour ICMarkets
|
|
|
|
# ─── Alpaca Markets (optionnel) ───────────────────────────────────
|
|
# Inscription : https://alpaca.markets/
|
|
ALPACA_API_KEY=
|
|
ALPACA_SECRET=
|
|
ALPACA_PAPER=true
|
|
|
|
# ─── CCXT — broker générique (optionnel) ──────────────────────────
|
|
CCXT_BROKER=
|
|
CCXT_API_KEY=
|
|
CCXT_API_SECRET=
|
|
CCXT_PASSPHRASE=
|
|
CCXT_SANDBOX=false
|
|
|
|
# ─── Twelve Data (données historiques — gratuit 800 req/j) ────────
|
|
# Inscription : https://twelvedata.com/
|
|
TWELVE_DATA_API_KEY=
|
|
|
|
# ─── Alpha Vantage (données historiques — gratuit 25 req/j) ───────
|
|
# Inscription : https://www.alphavantage.co/support/#api-key
|
|
ALPHA_VANTAGE_API_KEY=
|
|
|
|
# ─── Interactive Brokers (optionnel) ──────────────────────────────
|
|
IB_HOST=127.0.0.1
|
|
IB_PORT=7497
|
|
IB_CLIENT_ID=1
|
|
|
|
# ─── Interface Web ─────────────────────────────────────────────────
|
|
# ⚠️ OBLIGATOIRE sur VPS exposé à internet — choisir un token fort
|
|
# Exemple : openssl rand -hex 32
|
|
WEB_UI_TOKEN=
|
|
# Origines CORS autorisées (par défaut : localhost seulement)
|
|
WEB_UI_CORS_ORIGINS=http://localhost:8080,http://127.0.0.1:8080
|
|
|
|
# ─── Paramètres de trading ────────────────────────────────────────
|
|
LEVERAGE=30
|
|
MAX_POSITIONS=5
|
|
RISK_PER_TRADE=0.01 # 1% du capital par trade
|
|
MAX_DAILY_LOSS_PCT=0.03 # Stop trading si -3% dans la journée
|
|
|
|
# ─── Stop Loss / Take Profit ──────────────────────────────────────
|
|
STOP_LOSS_PCT=0.0050 # 50 pips sur EUR/USD
|
|
TAKE_PROFIT_PCT=0.0075 # 75 pips — R:R 1:1.5
|
|
|
|
# ─── Modèle IA ────────────────────────────────────────────────────
|
|
MIN_CONFIDENCE=0.72 # Seuil minimum pour prendre un trade
|
|
USE_ENSEMBLE=true
|
|
USE_REGIME_FILTER=false
|
|
MODEL_PATH=model.pkl
|
|
ENSEMBLE_MODEL_PATH=model_ensemble.pkl
|
|
|
|
# ─── Lot Forex ────────────────────────────────────────────────────
|
|
MIN_LOT_SIZE=0.01 # 1 micro lot = 1 000 unités
|
|
MAX_LOT_SIZE=10.0 # 10 lots standard = 1 000 000 unités
|
|
|
|
# ─── Circuit Breaker ──────────────────────────────────────────────
|
|
CIRCUIT_BREAKER_LOSSES=3 # Pause après 3 pertes consécutives
|
|
CIRCUIT_BREAKER_COOLDOWN=3600 # Pause de 1 heure
|
|
|
|
# ─── Données ──────────────────────────────────────────────────────
|
|
CANDLE_INTERVAL=1h
|
|
DATA_DIR=data
|
|
|
|
# ─── Agent RL (optionnel) ─────────────────────────────────────────
|
|
USE_RL_AGENT=false
|
|
RL_MODEL_PATH=rl_agent
|
|
RL_SCALER_PATH=rl_scaler.pkl
|
|
RL_MODE=filter # filter | override
|
|
|
|
# ─── Apprentissage continu ────────────────────────────────────────
|
|
CONTINUOUS_LEARNING_ENABLED=true
|
|
AUTO_RETRAIN_ENABLED=false
|
|
AUTO_RETRAIN_INTERVAL_HOURS=24
|
|
|
|
# ─── Session filter (optionnel) ───────────────────────────────────
|
|
SESSION_FILTER_ENABLED=false
|
|
SESSION_LONDON_START=7
|
|
SESSION_LONDON_END=16
|
|
SESSION_NY_START=12
|
|
SESSION_NY_END=21
|