mtcli 3.3.0.dev0__tar.gz → 3.4.0.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/PKG-INFO +1 -1
- mtcli-3.4.0.dev0/mtcli/mt5_context.py +36 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/pyproject.toml +1 -1
- mtcli-3.3.0.dev0/mtcli/mt5_context.py +0 -34
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/LICENSE +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/README.md +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/commands/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/commands/bars.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/commands/conf.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/commands/logs.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/conecta.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/conf.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/data/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/data/base.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/data/csv.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/data/mt5.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/logger.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/bar_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/bars_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/chart_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/conf_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/consecutive_bars_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/rates_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/signals_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/models/unconsecutive_bar_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/mt.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugin.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/command.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/conf.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/models/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/models/model_media_movel.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/tests/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/tests/test_mm.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/tests/test_model_media_movel.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/command.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/conf.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/models/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/models/average_range_model.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/tests/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/tests/test_rm.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/command.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/conf.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/models/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/models/model_average_volume.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/tests/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/tests/test_vm.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/__init__.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/close_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/full_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/high_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/low_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/min_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/open_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/ranges_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/rates_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/vars_view.py +0 -0
- {mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/views/volumes_view.py +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Gerencia o ciclo de conexão com o MetaTrader 5.
|
|
3
|
+
Fornece o contexto 'mt5_conexao' para uso seguro em blocos with.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from contextlib import contextmanager
|
|
7
|
+
import MetaTrader5 as mt5
|
|
8
|
+
from mtcli.logger import setup_logger
|
|
9
|
+
|
|
10
|
+
log = setup_logger()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@contextmanager
|
|
14
|
+
def mt5_conexao():
|
|
15
|
+
"""
|
|
16
|
+
Context manager para conexão direta com o MetaTrader 5.
|
|
17
|
+
- Chama `mt5.initialize()` ao entrar no contexto.
|
|
18
|
+
- Chama `mt5.shutdown()` ao sair.
|
|
19
|
+
- Loga falhas e garante fechamento seguro.
|
|
20
|
+
"""
|
|
21
|
+
try:
|
|
22
|
+
log.info("Inicializando conexão com MetaTrader 5 via API oficial...")
|
|
23
|
+
if not mt5.initialize():
|
|
24
|
+
error = mt5.last_error()
|
|
25
|
+
log.error(f"Falha ao inicializar MetaTrader 5: {error}")
|
|
26
|
+
raise RuntimeError(f"Erro ao conectar ao MT5: {error}")
|
|
27
|
+
yield
|
|
28
|
+
except Exception as e:
|
|
29
|
+
log.error(f"Erro durante o uso da conexão MT5: {e}")
|
|
30
|
+
raise
|
|
31
|
+
finally:
|
|
32
|
+
try:
|
|
33
|
+
mt5.shutdown()
|
|
34
|
+
log.info("Conexão com MetaTrader 5 encerrada com sucesso.")
|
|
35
|
+
except Exception as e:
|
|
36
|
+
log.error(f"Erro ao encerrar conexão MT5: {e}")
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Gerencia o ciclo de conexão com o MetaTrader 5.
|
|
3
|
-
Fornece o contexto 'mt5_conexao' para uso seguro em blocos with.
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
from contextlib import contextmanager
|
|
7
|
-
|
|
8
|
-
from mtcli.conecta import conectar, shutdown
|
|
9
|
-
from mtcli.logger import setup_logger
|
|
10
|
-
|
|
11
|
-
log = setup_logger()
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@contextmanager
|
|
15
|
-
def mt5_conexao():
|
|
16
|
-
"""
|
|
17
|
-
Context manager para conexão com o MetaTrader 5.
|
|
18
|
-
- Chama `conectar()` ao entrar no contexto.
|
|
19
|
-
- Chama `shutdown()` ao sair.
|
|
20
|
-
- Loga falhas e garante fechamento seguro.
|
|
21
|
-
"""
|
|
22
|
-
try:
|
|
23
|
-
log.debug("Inicializando conexao com MetaTrader 5...")
|
|
24
|
-
conectar()
|
|
25
|
-
yield
|
|
26
|
-
except Exception as e:
|
|
27
|
-
log.error(f"Erro ao conectar ao MetaTrader 5: {e}")
|
|
28
|
-
raise
|
|
29
|
-
finally:
|
|
30
|
-
try:
|
|
31
|
-
shutdown()
|
|
32
|
-
log.debug("Conexao com MetaTrader 5 encerrada.")
|
|
33
|
-
except Exception as e:
|
|
34
|
-
log.error(f"Erro ao encerrar conexao MT5: {e}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/media_movel/tests/test_model_media_movel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/range_medio/models/average_range_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtcli-3.3.0.dev0 → mtcli-3.4.0.dev0}/mtcli/plugins/volume_medio/models/model_average_volume.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|