Compare commits
4 commits
5f20ba0de3
...
d505268b30
| Author | SHA1 | Date | |
|---|---|---|---|
| d505268b30 | |||
| 348daa69bd | |||
| d92cb36937 | |||
| 9395e60919 |
5 changed files with 21 additions and 21 deletions
|
|
@ -15,9 +15,9 @@ mt5server_port="8001"
|
|||
MT5_CMD_OPTIONS="${MT5_CMD_OPTIONS:-}"
|
||||
mono_url="https://dl.winehq.org/wine/wine-mono/10.3.0/wine-mono-10.3.0-x86.msi"
|
||||
python_url="https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe"
|
||||
# Broker-Installer wird mit ins Image kopiert (Metatrader/vantageinternational5setup.exe).
|
||||
# Broker-Installer wird mit ins Image kopiert (Metatrader/vantagemarkets5setup.exe).
|
||||
# Fehlt er, wird das generische MetaQuotes-Terminal installiert.
|
||||
broker_setup="/Metatrader/vantageinternational5setup.exe"
|
||||
broker_setup="/Metatrader/vantagemarkets5setup.exe"
|
||||
mt5setup_url="https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe"
|
||||
program_files="/config/.wine/drive_c/Program Files"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
BIN
Metatrader/vantagemarkets5setup.exe
Normal file
BIN
Metatrader/vantagemarkets5setup.exe
Normal file
Binary file not shown.
8
bots.env
8
bots.env
|
|
@ -1,7 +1,7 @@
|
|||
MT5_LOGIN=
|
||||
MT5_PASSWORD=
|
||||
MT5_SERVER=
|
||||
MT5_PATH=C:\Program Files\PU Prime MT5 Terminal\terminal64.exe
|
||||
MT5_LOGIN=17205580
|
||||
MT5_PASSWORD=PfXb49ntGVUv@
|
||||
MT5_SERVER=VantageInternational-Live 1
|
||||
MT5_PATH=C:\Program Files\Vantage Markets MT5 Terminal\terminal64.exe
|
||||
|
||||
API_ID="28487993"
|
||||
API_HASH="b14b06cec21a72b5cb2773ea782c7057"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
services:
|
||||
# 1. MetaTrader 5 (Wine + KasmVNC) – startet selbst den RPyC-Server auf 8001
|
||||
mt5:
|
||||
mt5-gx:
|
||||
build: . # eigenes Dockerfile mit Fix
|
||||
image: mt5-vnc:local # eigener Name – nicht mit dem Upstream-Image verwechseln
|
||||
container_name: mt5
|
||||
image: mt5-vnc-gx:local # eigener Name – nicht mit dem Upstream-Image verwechseln
|
||||
container_name: mt5-gx
|
||||
volumes:
|
||||
- ./config:/config
|
||||
ports:
|
||||
- 3001:3000 # Web-UI
|
||||
- 3010:3000 # Web-UI
|
||||
# 8001 (RPyC) bewusst NICHT veröffentlicht – ungeschützter Vollzugriff auf MT5
|
||||
env_file:
|
||||
- .env # CUSTOM_USER / PASSWORD = VNC-Login fürs Web-UI
|
||||
|
|
@ -20,17 +20,17 @@ services:
|
|||
retries: 5
|
||||
|
||||
# 2. MCP-Server (FastAPI) – spricht per RPyC mit MT5, Broker-Login aus bots.env
|
||||
mt5-mcp:
|
||||
mt5-mcp-gx:
|
||||
build: ./bots
|
||||
image: mt5-bots:local
|
||||
container_name: mt5-mcp
|
||||
command: ["python", "mcp_server.py", "--live", "--rpyc-host", "mt5", "--rpyc-port", "8001"]
|
||||
image: mt5-bots-gx:local
|
||||
container_name: mt5-mcp-gx
|
||||
command: ["python", "mcp_server.py", "--live", "--rpyc-host", "mt5-gx", "--rpyc-port", "8001"]
|
||||
env_file:
|
||||
- bots.env
|
||||
ports:
|
||||
- 127.0.0.1:8000:8000 # nur lokal – hat Order-Endpunkte ohne Auth
|
||||
- 127.0.0.1:8010:8000 # nur lokal – hat Order-Endpunkte ohne Auth
|
||||
depends_on:
|
||||
mt5:
|
||||
mt5-gx:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
|
|
@ -42,16 +42,16 @@ services:
|
|||
retries: 3
|
||||
|
||||
# 3. Telegram Live-Trader – handelt über den MCP-Server
|
||||
live-trader:
|
||||
image: mt5-bots:local
|
||||
container_name: live-trader
|
||||
live-trader-gx:
|
||||
image: mt5-bots-gx:local
|
||||
container_name: live-trader-gx
|
||||
working_dir: /data # Session + diagnostics_*.json landen im Volume
|
||||
# Nur Kanal 2 (HM XAUUSD) – CHANNEL2_ID kommt aus bots.env
|
||||
command: >
|
||||
python /app/live_signal_trader.py --live
|
||||
--channels ch1
|
||||
--risk-tier low
|
||||
--mt5-base-url http://mt5-mcp:8000
|
||||
--mt5-base-url http://mt5-mcp-gx:8000
|
||||
--diagnostics-dir /data
|
||||
env_file:
|
||||
- bots.env
|
||||
|
|
@ -60,6 +60,6 @@ services:
|
|||
volumes:
|
||||
- ./trader-data:/data
|
||||
depends_on:
|
||||
mt5-mcp:
|
||||
mt5-mcp-gx:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
|
|
|||
Loading…
Reference in a new issue