mtcli 2.1.0__tar.gz → 2.1.2__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.
Files changed (79) hide show
  1. {mtcli-2.1.0 → mtcli-2.1.2}/PKG-INFO +170 -171
  2. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/conf.py +8 -1
  3. {mtcli-2.1.0 → mtcli-2.1.2}/pyproject.toml +3 -6
  4. mtcli-2.1.0/mtcli.egg-info/PKG-INFO +0 -171
  5. mtcli-2.1.0/mtcli.egg-info/SOURCES.txt +0 -77
  6. mtcli-2.1.0/mtcli.egg-info/dependency_links.txt +0 -1
  7. mtcli-2.1.0/mtcli.egg-info/entry_points.txt +0 -7
  8. mtcli-2.1.0/mtcli.egg-info/not-zip-safe +0 -1
  9. mtcli-2.1.0/mtcli.egg-info/requires.txt +0 -5
  10. mtcli-2.1.0/mtcli.egg-info/top_level.txt +0 -2
  11. mtcli-2.1.0/setup.cfg +0 -4
  12. mtcli-2.1.0/setup.py +0 -48
  13. mtcli-2.1.0/tests/__init__.py +0 -3
  14. mtcli-2.1.0/tests/models/__init__.py +0 -3
  15. mtcli-2.1.0/tests/models/test_model_bar.py +0 -65
  16. mtcli-2.1.0/tests/models/test_model_consecutive_bars.py +0 -17
  17. mtcli-2.1.0/tests/models/test_model_signals.py +0 -34
  18. mtcli-2.1.0/tests/models/test_model_unconsecutive_bar.py +0 -42
  19. mtcli-2.1.0/tests/test_bars.py +0 -354
  20. {mtcli-2.1.0 → mtcli-2.1.2}/LICENSE +0 -0
  21. {mtcli-2.1.0 → mtcli-2.1.2}/README.md +0 -0
  22. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/__init__.py +0 -0
  23. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/bars.py +0 -0
  24. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/conecta.py +0 -0
  25. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/data/__init__.py +0 -0
  26. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/data/base.py +0 -0
  27. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/data/csv.py +0 -0
  28. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/data/mt5.py +0 -0
  29. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/logger.py +0 -0
  30. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/__init__.py +0 -0
  31. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_bar.py +0 -0
  32. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_bars.py +0 -0
  33. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_chart.py +0 -0
  34. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_consecutive_bars.py +0 -0
  35. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_rates.py +0 -0
  36. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_signals.py +0 -0
  37. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/models/model_unconsecutive_bar.py +0 -0
  38. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/mt.py +0 -0
  39. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/__init__.py +0 -0
  40. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/__init__.py +0 -0
  41. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/command.py +0 -0
  42. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/conf.py +0 -0
  43. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/models/__init__.py +0 -0
  44. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/models/model_agressao.py +0 -0
  45. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/views/__init__.py +0 -0
  46. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/agressao/views/view_agressao.py +0 -0
  47. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/__init__.py +0 -0
  48. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/command.py +0 -0
  49. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/conf.py +0 -0
  50. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/models/__init__.py +0 -0
  51. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/models/model_media_movel.py +0 -0
  52. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/tests/__init__.py +0 -0
  53. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/tests/test_mm.py +0 -0
  54. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/media_movel/tests/test_model_media_movel.py +0 -0
  55. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/__init__.py +0 -0
  56. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/command.py +0 -0
  57. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/conf.py +0 -0
  58. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/models/__init__.py +0 -0
  59. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/models/model_average_range.py +0 -0
  60. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/tests/__init__.py +0 -0
  61. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/range_medio/tests/test_rm.py +0 -0
  62. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/__init__.py +0 -0
  63. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/command.py +0 -0
  64. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/conf.py +0 -0
  65. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/models/__init__.py +0 -0
  66. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/models/model_average_volume.py +0 -0
  67. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/tests/__init__.py +0 -0
  68. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/plugins/volume_medio/tests/test_vm.py +0 -0
  69. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/__init__.py +0 -0
  70. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_close.py +0 -0
  71. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_full.py +0 -0
  72. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_high.py +0 -0
  73. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_low.py +0 -0
  74. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_min.py +0 -0
  75. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_open.py +0 -0
  76. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_ranges.py +0 -0
  77. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_rates.py +0 -0
  78. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_vars.py +0 -0
  79. {mtcli-2.1.0 → mtcli-2.1.2}/mtcli/views/view_volumes.py +0 -0
@@ -1,171 +1,170 @@
1
- Metadata-Version: 2.4
2
- Name: mtcli
3
- Version: 2.1.0
4
- Summary: Aplicativo CLI para exibir gráficos do MetaTrader 5 em texto acessível ao leitor de telas
5
- Home-page: https://github.com/vfranca/mtcli
6
- Author: Valmir França da Silva
7
- Author-email: Valmir França da Silva <vfranca3@gmail.com>
8
- License-Expression: GPL-3.0
9
- Project-URL: homepage, https://pypi.org/project/mtcli
10
- Project-URL: repository, https://github.com/vfranca/mtcli
11
- Project-URL: documentation, https://mtcli.readthedocs.io/pt-br/latest
12
- Project-URL: issues, https://github.com/vfranca/mtcli/issues
13
- Keywords: MetaTrader 5,trading,CLI
14
- Requires-Python: >=3.10,<3.14.0
15
- Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: click<9.0.0,>=8.2.1
18
- Requires-Dist: metatrader5<6.0.0,>=5.0.5260
19
- Provides-Extra: build
20
- Requires-Dist: pyinstaller; extra == "build"
21
- Dynamic: author
22
- Dynamic: home-page
23
- Dynamic: license-file
24
- Dynamic: requires-python
25
-
26
- # mtcli
27
-
28
- *mtcli* é um aplicativo de linha de comando (CLI) acessível para leitura e análise de gráficos do MetaTrader 5, desenvolvido com foco em acessibilidade para usuários com deficiência visual.
29
-
30
- O projeto é modular e extensível por meio de plugins.
31
-
32
- ---
33
-
34
- ## Instalação
35
-
36
- Você pode instalar o `mtcli` diretamente via *pip*:
37
-
38
- ```bash
39
- pip install mtcli
40
- ```
41
-
42
- Ou diretamente a partir do código-fonte:
43
-
44
- ```bash
45
- git clone https://github.com/vfranca/mtcli.git
46
- cd mtcli
47
- pip install .
48
- ```
49
-
50
- ---
51
-
52
- ## Como usar
53
-
54
- Após a instalação, o comando principal é:
55
-
56
- ```bash
57
- mt
58
- ```
59
-
60
- Você verá uma lista de comandos e plugins disponíveis.
61
-
62
- Para executar um plugin específico, use:
63
-
64
- ```bash
65
- mt nome-do-plugin [opções]
66
- ```
67
-
68
- Exemplo com o plugin de média móvel:
69
-
70
- ```bash
71
- mt mm --symbol WIN$N --periodo 14
72
- ```
73
-
74
- ---
75
-
76
- ## Documentação
77
-
78
- A documentação completa está disponível em:
79
-
80
- *https://vfranca.github.io/mtcli*
81
-
82
- Inclui guias de uso, instalação de plugins, exemplos e estrutura do projeto.
83
-
84
- ---
85
-
86
- ## Como contribuir
87
-
88
- Contribuições são bem-vindas!
89
-
90
- Clonar o repositório
91
-
92
- ```bash
93
- git clone https://github.com/vfranca/mtcli.git
94
- cd mtcli
95
- ```
96
-
97
- Instalar dependências para desenvolvimento
98
-
99
- ```bash
100
- pip install -e ".[dev]"
101
- ```
102
- Rodar os testes
103
-
104
- ```bash
105
- pymake test
106
- ```
107
-
108
- Estilo de código
109
-
110
- - `black` para formatação
111
- - `isort` para ordenação de imports
112
- - `pydocstyle` para formatação de docstrings
113
- - `ruff` e `mypy` para linting e verificação estática
114
-
115
- ---
116
-
117
- ## Criando plugins para o mtcli
118
-
119
- Plugins permitem estender a funcionalidade do `mtcli`.
120
-
121
- Estrutura básica de um plugin
122
-
123
- ```toml
124
- pyproject.toml
125
- [project.entry-points."mtcli.plugins"]
126
- nome_do_plugin = "modulo.caminho:funcao_principal"
127
- ```
128
-
129
- Exemplo
130
-
131
- ```toml
132
- [project.entry-points."mtcli.plugins"]
133
- volume_medio = "mtcli.plugins.volume_medio:vm"
134
- ```
135
-
136
- No código Python:
137
-
138
- ```python
139
-
140
- def vm():
141
- print("Plugin de volume médio executado.")
142
- ```
143
-
144
- Como empacotar
145
-
146
- Crie um projeto separado com sua lógica e registre o plugin no `pyproject.toml` ou `setup.py` como acima.
147
-
148
- Depois, instale com:
149
-
150
- ```bash
151
- pip install .
152
- ```
153
-
154
- O `mtcli` reconhecerá o plugin automaticamente.
155
-
156
- ---
157
-
158
- ## Contato
159
-
160
- Autor: *Valmir França da Silva*
161
-
162
- Email: vfranca3@gmail.com
163
-
164
- GitHub: [@vfranca](https://github.com/vfranca)
165
-
166
- ---
167
-
168
- ## Licença
169
-
170
- Distribuído sob a licença GPL-3.0. Veja `LICENSE` para mais informações.
171
-
1
+ Metadata-Version: 2.3
2
+ Name: mtcli
3
+ Version: 2.1.2
4
+ Summary: Aplicativo CLI para exibir gráficos do MetaTrader 5 em texto acessível ao leitor de telas
5
+ License: GPL-3.0
6
+ Keywords: MetaTrader 5,trading,CLI
7
+ Author: Valmir França da Silva
8
+ Author-email: vfranca3@gmail.com
9
+ Requires-Python: >=3.10,<3.14.0
10
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Requires-Dist: click (>=8.2.1,<9.0.0)
17
+ Requires-Dist: metatrader5 (>=5.0.5260,<6.0.0)
18
+ Project-URL: Documentation, https://mtcli.readthedocs.io/pt-br/latest
19
+ Project-URL: Homepage, https://pypi.org/project/mtcli
20
+ Project-URL: Repository, https://github.com/vfranca/mtcli
21
+ Project-URL: issues, https://github.com/vfranca/mtcli/issues
22
+ Description-Content-Type: text/markdown
23
+
24
+ # mtcli
25
+
26
+ *mtcli* é um aplicativo de linha de comando (CLI) acessível para leitura e análise de gráficos do MetaTrader 5, desenvolvido com foco em acessibilidade para usuários com deficiência visual.
27
+
28
+ O projeto é modular e extensível por meio de plugins.
29
+
30
+ ---
31
+
32
+ ## Instalação
33
+
34
+ Você pode instalar o `mtcli` diretamente via *pip*:
35
+
36
+ ```bash
37
+ pip install mtcli
38
+ ```
39
+
40
+ Ou diretamente a partir do código-fonte:
41
+
42
+ ```bash
43
+ git clone https://github.com/vfranca/mtcli.git
44
+ cd mtcli
45
+ pip install .
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Como usar
51
+
52
+ Após a instalação, o comando principal é:
53
+
54
+ ```bash
55
+ mt
56
+ ```
57
+
58
+ Você verá uma lista de comandos e plugins disponíveis.
59
+
60
+ Para executar um plugin específico, use:
61
+
62
+ ```bash
63
+ mt nome-do-plugin [opções]
64
+ ```
65
+
66
+ Exemplo com o plugin de média móvel:
67
+
68
+ ```bash
69
+ mt mm --symbol WIN$N --periodo 14
70
+ ```
71
+
72
+ ---
73
+
74
+ ## Documentação
75
+
76
+ A documentação completa está disponível em:
77
+
78
+ *https://vfranca.github.io/mtcli*
79
+
80
+ Inclui guias de uso, instalação de plugins, exemplos e estrutura do projeto.
81
+
82
+ ---
83
+
84
+ ## Como contribuir
85
+
86
+ Contribuições são bem-vindas!
87
+
88
+ Clonar o repositório
89
+
90
+ ```bash
91
+ git clone https://github.com/vfranca/mtcli.git
92
+ cd mtcli
93
+ ```
94
+
95
+ Instalar dependências para desenvolvimento
96
+
97
+ ```bash
98
+ pip install -e ".[dev]"
99
+ ```
100
+ Rodar os testes
101
+
102
+ ```bash
103
+ pymake test
104
+ ```
105
+
106
+ Estilo de código
107
+
108
+ - `black` para formatação
109
+ - `isort` para ordenação de imports
110
+ - `pydocstyle` para formatação de docstrings
111
+ - `ruff` e `mypy` para linting e verificação estática
112
+
113
+ ---
114
+
115
+ ## Criando plugins para o mtcli
116
+
117
+ Plugins permitem estender a funcionalidade do `mtcli`.
118
+
119
+ Estrutura básica de um plugin
120
+
121
+ ```toml
122
+ pyproject.toml
123
+ [project.entry-points."mtcli.plugins"]
124
+ nome_do_plugin = "modulo.caminho:funcao_principal"
125
+ ```
126
+
127
+ Exemplo
128
+
129
+ ```toml
130
+ [project.entry-points."mtcli.plugins"]
131
+ volume_medio = "mtcli.plugins.volume_medio:vm"
132
+ ```
133
+
134
+ No código Python:
135
+
136
+ ```python
137
+
138
+ def vm():
139
+ print("Plugin de volume médio executado.")
140
+ ```
141
+
142
+ Como empacotar
143
+
144
+ Crie um projeto separado com sua lógica e registre o plugin no `pyproject.toml` ou `setup.py` como acima.
145
+
146
+ Depois, instale com:
147
+
148
+ ```bash
149
+ pip install .
150
+ ```
151
+
152
+ O `mtcli` reconhecerá o plugin automaticamente.
153
+
154
+ ---
155
+
156
+ ## Contato
157
+
158
+ Autor: *Valmir França da Silva*
159
+
160
+ Email: vfranca3@gmail.com
161
+
162
+ GitHub: [@vfranca](https://github.com/vfranca)
163
+
164
+ ---
165
+
166
+ ## Licença
167
+
168
+ Distribuído sob a licença GPL-3.0. Veja `LICENSE` para mais informações.
169
+
170
+
@@ -2,6 +2,7 @@
2
2
 
3
3
  import os
4
4
  import configparser
5
+ from configparser import MissingSectionHeaderError
5
6
  import click
6
7
  import MetaTrader5 as mt5
7
8
  from mtcli.conecta import conectar, shutdown
@@ -13,7 +14,13 @@ CONFIG_PATH = os.path.abspath("mtcli.ini")
13
14
  def carregar_config():
14
15
  config = configparser.ConfigParser()
15
16
  if os.path.exists(CONFIG_PATH):
16
- config.read(CONFIG_PATH)
17
+ try:
18
+ config.read(CONFIG_PATH)
19
+ except MissingSectionHeaderError as e:
20
+ print(f"Erro: o arquivo '{CONFIG_PATH}' não contém seções válidas.")
21
+ print("Certifique-se de que ele está no formato correto:")
22
+ print("[padrao]\nCHAVE=valor")
23
+ exit(1)
17
24
  else:
18
25
  config["DEFAULT"] = {}
19
26
  return config
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mtcli"
3
- version = "2.1.0"
3
+ version = "2.1.2"
4
4
  description = "Aplicativo CLI para exibir gráficos do MetaTrader 5 em texto acessível ao leitor de telas"
5
5
  authors = [
6
6
  {name = "Valmir França da Silva",email = "vfranca3@gmail.com"}
@@ -28,12 +28,9 @@ media_movel = "mtcli.plugins.media_movel:mm"
28
28
  range_medio = "mtcli.plugins.range_medio:rm"
29
29
  volume_medio = "mtcli.plugins.volume_medio:vm"
30
30
 
31
- [project.optional-dependencies]
32
- build = ["pyinstaller"]
33
-
34
31
  [build-system]
35
- requires = ["setuptools>=42"]
36
- build-backend = "setuptools.build_meta"
32
+ requires = ["poetry-core>=2.0.0,<3.0.0"]
33
+ build-backend = "poetry.core.masonry.api"
37
34
 
38
35
  [tool.pytest.ini_options]
39
36
  addopts = "--cov=mtcli --cov-report=html -ra -q"
@@ -1,171 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mtcli
3
- Version: 2.1.0
4
- Summary: Aplicativo CLI para exibir gráficos do MetaTrader 5 em texto acessível ao leitor de telas
5
- Home-page: https://github.com/vfranca/mtcli
6
- Author: Valmir França da Silva
7
- Author-email: Valmir França da Silva <vfranca3@gmail.com>
8
- License-Expression: GPL-3.0
9
- Project-URL: homepage, https://pypi.org/project/mtcli
10
- Project-URL: repository, https://github.com/vfranca/mtcli
11
- Project-URL: documentation, https://mtcli.readthedocs.io/pt-br/latest
12
- Project-URL: issues, https://github.com/vfranca/mtcli/issues
13
- Keywords: MetaTrader 5,trading,CLI
14
- Requires-Python: >=3.10,<3.14.0
15
- Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: click<9.0.0,>=8.2.1
18
- Requires-Dist: metatrader5<6.0.0,>=5.0.5260
19
- Provides-Extra: build
20
- Requires-Dist: pyinstaller; extra == "build"
21
- Dynamic: author
22
- Dynamic: home-page
23
- Dynamic: license-file
24
- Dynamic: requires-python
25
-
26
- # mtcli
27
-
28
- *mtcli* é um aplicativo de linha de comando (CLI) acessível para leitura e análise de gráficos do MetaTrader 5, desenvolvido com foco em acessibilidade para usuários com deficiência visual.
29
-
30
- O projeto é modular e extensível por meio de plugins.
31
-
32
- ---
33
-
34
- ## Instalação
35
-
36
- Você pode instalar o `mtcli` diretamente via *pip*:
37
-
38
- ```bash
39
- pip install mtcli
40
- ```
41
-
42
- Ou diretamente a partir do código-fonte:
43
-
44
- ```bash
45
- git clone https://github.com/vfranca/mtcli.git
46
- cd mtcli
47
- pip install .
48
- ```
49
-
50
- ---
51
-
52
- ## Como usar
53
-
54
- Após a instalação, o comando principal é:
55
-
56
- ```bash
57
- mt
58
- ```
59
-
60
- Você verá uma lista de comandos e plugins disponíveis.
61
-
62
- Para executar um plugin específico, use:
63
-
64
- ```bash
65
- mt nome-do-plugin [opções]
66
- ```
67
-
68
- Exemplo com o plugin de média móvel:
69
-
70
- ```bash
71
- mt mm --symbol WIN$N --periodo 14
72
- ```
73
-
74
- ---
75
-
76
- ## Documentação
77
-
78
- A documentação completa está disponível em:
79
-
80
- *https://vfranca.github.io/mtcli*
81
-
82
- Inclui guias de uso, instalação de plugins, exemplos e estrutura do projeto.
83
-
84
- ---
85
-
86
- ## Como contribuir
87
-
88
- Contribuições são bem-vindas!
89
-
90
- Clonar o repositório
91
-
92
- ```bash
93
- git clone https://github.com/vfranca/mtcli.git
94
- cd mtcli
95
- ```
96
-
97
- Instalar dependências para desenvolvimento
98
-
99
- ```bash
100
- pip install -e ".[dev]"
101
- ```
102
- Rodar os testes
103
-
104
- ```bash
105
- pymake test
106
- ```
107
-
108
- Estilo de código
109
-
110
- - `black` para formatação
111
- - `isort` para ordenação de imports
112
- - `pydocstyle` para formatação de docstrings
113
- - `ruff` e `mypy` para linting e verificação estática
114
-
115
- ---
116
-
117
- ## Criando plugins para o mtcli
118
-
119
- Plugins permitem estender a funcionalidade do `mtcli`.
120
-
121
- Estrutura básica de um plugin
122
-
123
- ```toml
124
- pyproject.toml
125
- [project.entry-points."mtcli.plugins"]
126
- nome_do_plugin = "modulo.caminho:funcao_principal"
127
- ```
128
-
129
- Exemplo
130
-
131
- ```toml
132
- [project.entry-points."mtcli.plugins"]
133
- volume_medio = "mtcli.plugins.volume_medio:vm"
134
- ```
135
-
136
- No código Python:
137
-
138
- ```python
139
-
140
- def vm():
141
- print("Plugin de volume médio executado.")
142
- ```
143
-
144
- Como empacotar
145
-
146
- Crie um projeto separado com sua lógica e registre o plugin no `pyproject.toml` ou `setup.py` como acima.
147
-
148
- Depois, instale com:
149
-
150
- ```bash
151
- pip install .
152
- ```
153
-
154
- O `mtcli` reconhecerá o plugin automaticamente.
155
-
156
- ---
157
-
158
- ## Contato
159
-
160
- Autor: *Valmir França da Silva*
161
-
162
- Email: vfranca3@gmail.com
163
-
164
- GitHub: [@vfranca](https://github.com/vfranca)
165
-
166
- ---
167
-
168
- ## Licença
169
-
170
- Distribuído sob a licença GPL-3.0. Veja `LICENSE` para mais informações.
171
-
@@ -1,77 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- setup.py
5
- mtcli/__init__.py
6
- mtcli/bars.py
7
- mtcli/conecta.py
8
- mtcli/conf.py
9
- mtcli/logger.py
10
- mtcli/mt.py
11
- mtcli.egg-info/PKG-INFO
12
- mtcli.egg-info/SOURCES.txt
13
- mtcli.egg-info/dependency_links.txt
14
- mtcli.egg-info/entry_points.txt
15
- mtcli.egg-info/not-zip-safe
16
- mtcli.egg-info/requires.txt
17
- mtcli.egg-info/top_level.txt
18
- mtcli/data/__init__.py
19
- mtcli/data/base.py
20
- mtcli/data/csv.py
21
- mtcli/data/mt5.py
22
- mtcli/models/__init__.py
23
- mtcli/models/model_bar.py
24
- mtcli/models/model_bars.py
25
- mtcli/models/model_chart.py
26
- mtcli/models/model_consecutive_bars.py
27
- mtcli/models/model_rates.py
28
- mtcli/models/model_signals.py
29
- mtcli/models/model_unconsecutive_bar.py
30
- mtcli/plugins/__init__.py
31
- mtcli/plugins/agressao/__init__.py
32
- mtcli/plugins/agressao/command.py
33
- mtcli/plugins/agressao/conf.py
34
- mtcli/plugins/agressao/models/__init__.py
35
- mtcli/plugins/agressao/models/model_agressao.py
36
- mtcli/plugins/agressao/views/__init__.py
37
- mtcli/plugins/agressao/views/view_agressao.py
38
- mtcli/plugins/media_movel/__init__.py
39
- mtcli/plugins/media_movel/command.py
40
- mtcli/plugins/media_movel/conf.py
41
- mtcli/plugins/media_movel/models/__init__.py
42
- mtcli/plugins/media_movel/models/model_media_movel.py
43
- mtcli/plugins/media_movel/tests/__init__.py
44
- mtcli/plugins/media_movel/tests/test_mm.py
45
- mtcli/plugins/media_movel/tests/test_model_media_movel.py
46
- mtcli/plugins/range_medio/__init__.py
47
- mtcli/plugins/range_medio/command.py
48
- mtcli/plugins/range_medio/conf.py
49
- mtcli/plugins/range_medio/models/__init__.py
50
- mtcli/plugins/range_medio/models/model_average_range.py
51
- mtcli/plugins/range_medio/tests/__init__.py
52
- mtcli/plugins/range_medio/tests/test_rm.py
53
- mtcli/plugins/volume_medio/__init__.py
54
- mtcli/plugins/volume_medio/command.py
55
- mtcli/plugins/volume_medio/conf.py
56
- mtcli/plugins/volume_medio/models/__init__.py
57
- mtcli/plugins/volume_medio/models/model_average_volume.py
58
- mtcli/plugins/volume_medio/tests/__init__.py
59
- mtcli/plugins/volume_medio/tests/test_vm.py
60
- mtcli/views/__init__.py
61
- mtcli/views/view_close.py
62
- mtcli/views/view_full.py
63
- mtcli/views/view_high.py
64
- mtcli/views/view_low.py
65
- mtcli/views/view_min.py
66
- mtcli/views/view_open.py
67
- mtcli/views/view_ranges.py
68
- mtcli/views/view_rates.py
69
- mtcli/views/view_vars.py
70
- mtcli/views/view_volumes.py
71
- tests/__init__.py
72
- tests/test_bars.py
73
- tests/models/__init__.py
74
- tests/models/test_model_bar.py
75
- tests/models/test_model_consecutive_bars.py
76
- tests/models/test_model_signals.py
77
- tests/models/test_model_unconsecutive_bar.py
@@ -1,7 +0,0 @@
1
- [console_scripts]
2
- mt = mtcli.mt:mt
3
-
4
- [mtcli.plugins]
5
- media_movel = mtcli.plugins.media_movel:mm
6
- range_medio = mtcli.plugins.range_medio:rm
7
- volume_medio = mtcli.plugins.volume_medio:vm
@@ -1 +0,0 @@
1
-
@@ -1,5 +0,0 @@
1
- click<9.0.0,>=8.2.1
2
- metatrader5<6.0.0,>=5.0.5260
3
-
4
- [build]
5
- pyinstaller
@@ -1,2 +0,0 @@
1
- mtcli
2
- tests
mtcli-2.1.0/setup.cfg DELETED
@@ -1,4 +0,0 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-