MidasBot: bot trading crypto IA + stratégies Ichimoku validées
- 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
This commit is contained in:
92
docker-compose.yml
Normal file
92
docker-compose.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
# 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:
|
||||
Reference in New Issue
Block a user