b35fd2eb5a
- Combina on_history_ready_callback (replay reset) com on_big_trade_callback (Thiago) - DOM subscription + visualização no canvas - VWAP e delta profile no volume profile - Big trades com alerta visual no canvas - Endpoints /trade/buy, /trade/sell para execução via MQL5 - Historical Browser: date picker no header, /history/load e /history/live - Trading panel no sidebar com botões BUY/SELL - config/settings.py: mantém USTEC como padrão, adiciona BIG_TRADE_THRESHOLD - Todos os fixes de ontem preservados: broadcast live, history_ready, replay reset Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
1.4 KiB
Python
27 lines
1.4 KiB
Python
import os
|
|
|
|
# MT5
|
|
MT5_LOGIN = int(os.environ.get("MT5_LOGIN", 0)) # seu número de conta
|
|
MT5_PASSWORD = os.environ.get("MT5_PASSWORD", "") # sua senha
|
|
MT5_SERVER = os.environ.get("MT5_SERVER", "") # nome do servidor (ex: "XPInvestimentos-Real")
|
|
MT5_SYMBOL = os.environ.get("MT5_SYMBOL", "USTEC") # símbolo padrão
|
|
|
|
# Cluster
|
|
CLUSTER_RANGE_POINTS = float(os.environ.get("CLUSTER_RANGE_POINTS", 50.0))
|
|
CLUSTER_VOLUME_MAX = float(os.environ.get("CLUSTER_VOLUME_MAX", 100000))
|
|
CLUSTER_DELTA_MAX = float(os.environ.get("CLUSTER_DELTA_MAX", 800))
|
|
CLUSTER_TIME_SECONDS = float(os.environ.get("CLUSTER_TIME_SECONDS", 300))
|
|
CLUSTER_CLOSE_MODE = os.environ.get("CLUSTER_CLOSE_MODE", "delta") # "range" | "volume" | "delta" | "time"
|
|
|
|
# Imbalance & Big Trades
|
|
IMBALANCE_RATIO = float(os.environ.get("IMBALANCE_RATIO", 3.0))
|
|
STACKED_MIN_COUNT = int(os.environ.get("STACKED_MIN_COUNT", 3))
|
|
BIG_TRADE_THRESHOLD = float(os.environ.get("BIG_TRADE_THRESHOLD", 50.0))
|
|
|
|
# WebSocket
|
|
WS_PORT = int(os.environ.get("WS_PORT", 6002))
|
|
HISTORY_BUFFER_SIZE = int(os.environ.get("HISTORY_BUFFER_SIZE", 500))
|
|
HISTORY_HOURS = float(os.environ.get("HISTORY_HOURS", 4.0))
|
|
HISTORY_FROM_DATE = os.environ.get("HISTORY_FROM_DATE", "") # ex: "2026.06.04" — se definido, ignora HISTORY_HOURS
|
|
HISTORY_SESSION_START = os.environ.get("HISTORY_SESSION_START", "true").lower() == "true" # puxar desde a última abertura de sessão
|