- Infra: Freqtrade (futures dry-run) + Redis + dashboard + Docker Compose - Couche IA: ai_analyzer (Claude via abonnement, MCP TradingView, backfill biais) - Stratégies: SampleStrategy, AiBiasStrategy, IchimokuLS (long/short, validée train/test + données vierges + walk-forward), MTFIchimoku, variantes hyperopt - Arbitrage CEX (dry-run), backtesting, walk-forward, volatility targeting - IchimokuLS en dry-run live (config_live.json) Claude-Session: https://claude.ai/code/session_01VHETcFacdnDhQzthLpdYFR
93 lines
2.9 KiB
YAML
93 lines
2.9 KiB
YAML
# MidasBot — orchestration des services.
|
|
# Phase 1-2 : freqtrade + redis. ai-analyzer / dashboard ajoutés aux phases 3 et 5.
|
|
services:
|
|
freqtrade:
|
|
build: ./freqtrade # image officielle + client redis (cf. freqtrade/Dockerfile)
|
|
image: midas-freqtrade:latest
|
|
container_name: midas-freqtrade
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
volumes:
|
|
- "./freqtrade/user_data:/freqtrade/user_data"
|
|
ports:
|
|
- "127.0.0.1:8080:8080" # FreqUI / API server — exposé en local uniquement
|
|
env_file:
|
|
- .env
|
|
# Dry-run par défaut. La stratégie est passée en argument ; on démarre sur SampleStrategy
|
|
# (Phase 1) puis AiBiasStrategy (Phase 3).
|
|
command: >
|
|
trade
|
|
--logfile /freqtrade/user_data/logs/freqtrade.log
|
|
--db-url sqlite:////freqtrade/user_data/tradesv3.ichimoku.sqlite
|
|
--config /freqtrade/user_data/config_live.json
|
|
--strategy IchimokuLS
|
|
|
|
# Service IA — nécessite CLAUDE_CODE_OAUTH_TOKEN dans .env (claude setup-token).
|
|
# Démarrage explicite : docker compose --profile ai up -d ai-analyzer
|
|
ai-analyzer:
|
|
build:
|
|
context: .
|
|
dockerfile: ai_analyzer/Dockerfile
|
|
image: midas-ai-analyzer:latest
|
|
container_name: midas-ai-analyzer
|
|
restart: unless-stopped
|
|
profiles: ["ai"]
|
|
depends_on:
|
|
- redis
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
ANALYZER_PAIRS: "BTC/USDT,ETH/USDT,SOL/USDT,BNB/USDT"
|
|
ANALYZER_TIMEFRAME: "1h"
|
|
ANALYZER_INTERVAL_S: "3600"
|
|
ANALYZER_MODEL: "claude-sonnet-4-6"
|
|
# Décommenter pour activer le MCP TradingView (voir .mcp.json) :
|
|
# ANALYZER_MCP_CONFIG: "/app/.mcp.json"
|
|
# ANALYZER_ALLOWED_TOOLS: "mcp__tradingview"
|
|
|
|
# Scanner d'arbitrage inter-CEX (dry-run). Démarrage : docker compose --profile arb up -d arbitrage
|
|
arbitrage:
|
|
build:
|
|
context: .
|
|
dockerfile: arbitrage/Dockerfile
|
|
image: midas-arbitrage:latest
|
|
container_name: midas-arbitrage
|
|
restart: unless-stopped
|
|
profiles: ["arb"]
|
|
environment:
|
|
ARB_EXCHANGES: "binance,kraken"
|
|
ARB_PAIRS: "BTC/USDT,ETH/USDT"
|
|
ARB_MIN_SPREAD_PCT: "0.2"
|
|
ARB_INTERVAL_S: "30"
|
|
|
|
# Dashboard « Insights IA » (FastAPI) — lit les biais dans Redis.
|
|
dashboard:
|
|
build:
|
|
context: .
|
|
dockerfile: dashboard/Dockerfile
|
|
image: midas-dashboard:latest
|
|
container_name: midas-dashboard
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
ports:
|
|
- "127.0.0.1:8500:8500"
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
FREQUI_URL: http://127.0.0.1:8080 # ouvert dans le navigateur de l'hôte
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: midas-redis
|
|
restart: unless-stopped
|
|
command: ["redis-server", "--save", "60", "1", "--appendonly", "no"]
|
|
ports:
|
|
- "127.0.0.1:6380:6379" # hôte:6380 (6379 déjà pris) ; les conteneurs utilisent redis:6379
|
|
volumes:
|
|
- redis-data:/data
|
|
|
|
volumes:
|
|
redis-data:
|