---
title: "MetaTrader 5 build 2340: gerenciamento de configurações da conta no testador e expansão da integração com o Python - Última atualização"
description: "Adicionada a possibilidade de trabalhar convenientemente com bancos de dados SQLite. Na atualização anterior da plataforma adicionamos... - Última atualização"
image: "https://www.metatrader5.com/c/17/0/6_disable_python_script_trade__3.png"
url: "https://www.metatrader5.com/pt/releasenotes/terminal/2125"
---

# MetaTrader 5 build 2340: gerenciamento de configurações da conta no testador e expansão da integração com o Python

## Adicionada a possibilidade de trabalhar convenientemente com bancos de dados SQLite. Na atualização anterior da plataforma adicionamos suporte para trabalhar com bancos de dados SQLite diretamente da MQL5. Agora na interface do usuário do MetaEditor estão disponíveis as principais funções

21 fevereiro 2020

### MetaEditor

1. Adicionada a possibilidade de trabalhar convenientemente com bancos de dados SQLite. Na [atualização anterior da plataforma](https://www.mql5.com/pt/forum/327615) adicionamos suporte para trabalhar com bancos de dados SQLite diretamente da MQL5. Agora na interface do usuário do MetaEditor estão disponíveis as principais funções:

     - Criação e conexão a bancos de dados
     - Visualização de tabelas e consulta de dados rápida
     - Compilação e execução de consultas SQL, reversão de alterações

   **Como funciona isso?** Para criar bancos de dados rapidamente, use o "Assistente MQL5". Aqui você pode criar imediatamente a primeira tabela e definir sua lista de campos.

   ![](https://www.metatrader5.com/c/17/0/1_metaeditor_database_create__3.png)

    Após criar o banco de dados, você irá para a nova seção do "Navegador". Daí vem todo o trabalho com dados. O lado esquerdo exibe as tabelas do banco de dados. Para consultar rapidamente os primeiros 1 000 registros, clique duas vezes no nome da tabela. Aqui você pode criar e abrir outros bancos de dados, além de trabalhar com tabelas. Na parte principal do editor, ocorre o trabalho com o banco de dados: preencha a tabela com dados, faça pesquisas e seleções, insira consultas SQL, etc.

   ![](https://www.metatrader5.com/c/17/0/2_metaeditor_work_database__3.png)

   Leia mais sobre como trabalhar com bancos de dados no MetaTrader 5 no artigo "[SQLite: trabalho nativo com bancos de dados SQL em MQL5](https://www.mql5.com/pt/articles/7463)"
2.  Continua o trabalho no que diz respeito à adição de suporte para projetos multilíngues. Nesta versão, expandimos as funções para trabalhar com scripts em Python:

     - Agora eles podem ser criados convenientemente através do "Assistente MQL5", incluindo imediatamente dependências nas bibliotecas necessárias no código.
     - Ao navegador para eles foram adicionados ícones especiais, já no editor foi acrescentado o destaque de sintaxe.
     - Quando um script é executado no MetaEditor, as mensagens do console do Python (stdout, stderr) são exibidas na seção Erros.

   ![](https://www.metatrader5.com/c/17/0/3_python_script_create__3.png)

    Para executar o script no editor, clique em "Compilar":

   ![](https://www.metatrader5.com/c/17/0/4_python_script_compile__3.png)

    Para trabalhar com Python, não esqueça de especificar o caminho para ele na seção "Configurações \ Compiladores" no MetaEditor. E para trabalhar com a biblioteca MetaTrader 5, instale-a com o comando:

    pip install MetaTrader5

    Leia mais sobre a integração com o Python na [documentação](https://www.mql5.com/pt/docs/python_metatrader5).
3. Adicionada exibição de arquivos de bancos de dados SQLite (*.db;*.sdb;*.sqlite;*.db3;*.s3db;*.sqlite3) no "Navegador".
4. Corrigidos erros ao salvar as propriedades do projeto.

### MQL5

1. Completamente redesenhada integração como Python. Adicionados muitos novos recursos e alterados nomes de comandos .**Novos nomes de comandos**[Comandos existentes](https://www.mql5.com/pt/docs/python_metatrader5) foram renomeados:

    MT5Initialize -> initialize MT5Shutdown -> shutdown MT5TerminalInfo -> terminal_info MT5Version -> version MT5CopyRatesFrom -> copy_rates_from MT5CopyRatesFromPos -> copy_rates_from_pos MT5CopyRatesRange -> copy_rates_range MT5CopyTicksFrom -> copy_ticks_from MT5CopyTicksRange -> copy_tick_range

   **Novos comandos** A lista de comandos suportados foi bastante expandida. Adicionadas funções de negociação e trabalho com o histórico de negociação, obtendo informações sobre instrumentos financeiros e conta atual.

     - account_info() — recebe informações sobre a conta atual. Análogo de [AccountInfoInteger](https://www.mql5.com/pt/docs/account/accountinfointeger) , [AcountIndoDouble](https://www.mql5.com/pt/docs/account/accountinfodouble) e [AccountInfoString](https://www.mql5.com/pt/docs/account/accountinfostring).
     - positions_total() — recebe o número de posições abertas. Análogo de [PositionsTotal](https://www.mql5.com/pt/docs/trading/positionstotal).
     - positions_get(symbol, ticket) — recebe posições abertas por símbolo ou ticket.
     - orders_total() — recebe o número de ordens. Análogo de [OrdersTotal](https://www.mql5.com/pt/docs/trading/orderstotal).
     - orders_get(symbol, ticket) — recebe ordens abertas por símbolo ou ticket.
     - history_orders_total(from, to) — recebe o número de ordens no histórico em um determinado período.
     - history_orders_get(from, to, position, ticket) — recebe ordens do histórico em um determinado intervalo por ticket ou com filtragem por posição.
     - history_deals_total() — recebe o número de transações no histórico. Análogo de [HistoryDealsTotal](https://www.mql5.com/pt/docs/trading/historydealstotal).
     - history_deals_get(from, to, position, ticket) — — recebe o número de transações no histórico em um determinado intervalo por ticket ou com filtragem por posição.
     - symbol_info(symbol) — recebe informações sobre um instrumento financeiro. Análogo de [SymbolInfoInteger](https://www.mql5.com/pt/docs/marketinformation/symbolinfointeger), [SymbolInfoDouble](https://www.mql5.com/pt/docs/marketinformation/symbolinfodouble), [SymbolInfoString](https://www.mql5.com/pt/docs/marketinformation/symbolinfostring).
     - symbol_info_tick(symbol) — получение последнего тика по символу. Análogo de [SymbolInfoTick](https://www.mql5.com/pt/docs/marketinformation/symbolinfotick).
     - symbol_select(symbol, enable) — ativa/desativa símbolos na "Observação do Mercado". Análogo de [SymbolSelect](https://www.mql5.com/pt/docs/marketinformation/symbolselect).
     - order_check(request) — verifica a margem de uma ordem. Análogo de [OrderCheck](https://www.mql5.com/pt/docs/trading/ordercheck).
     - order_send(request) — envia uma ordem ao servidor. Análogo de [OrderSend](https://www.mql5.com/pt/docs/trading/ordersend).
     - order_calc_margin(action, symbol, volume, price) — cálculo da margem para a ordem. Análogo de [OrderCalcMargin](https://www.mql5.com/pt/docs/trading/ordercalcmargin).
     - order_calc_profit(action, symbol, volume, price_open, price_close) — cálculo do lucro. Análogo de [OrderCalcProfit](https://www.mql5.com/pt/docs/trading/ordercalcprofit).

   **Inicialização de scripts Python em gráficos**Agora, os scripts Python podem ser executados diretamente nos gráficos da plataforma, semelhante aos programas regulares do MQL5. No "Navegador", eles serão exibidos com ícones especiais.

   ![](https://www.metatrader5.com/c/17/0/5_python_script_run_on_chart__3.png)

   As mensagens de script serão exibidas na seção "Ferramentas \ Experts". Se no script for usada a [Biblioteca MetaTrader 5](https://www.mql5.com/pt/docs/python_metatrader5), ele poderá receber informações sobre o instrumento, a conta, e negociar.Os scripts Python podem ser executados no mesmo gráfico em paralelo com outros scripts e EAs MQL5. Para parar o script, se sua execução estiver em loop, basta removê-lo do gráfico. **Proteção adicional** Para proteger ainda mais suas contas ao usar bibliotecas Python de terceiros, a opção "Desativar negociação automática por meio de uma API Python externa" foi adicionada às configurações do terminal.

   ![](https://www.metatrader5.com/c/17/0/6_disable_python_script_trade__3.png)

    Os scripts Python permitem operações de negociação se esta opção estiver desabilitada explicitamente.
2. Significativamente acelerada reinicialização de programas MQL5 e recriação de indicadores personalizados a partir de programas MQL5. Em alguns casos, a velocidade aumenta centenas de vezes.
3. Adicionadas funções para trabalhar com bancos de dados:[DatabaseImport](https://www.mql5.com/pt/docs/database/databaseimport) Importa dados de um arquivo para uma tabela.

   ```
   long  DatabaseImport(    int           database,          // identificador de banco de dados recebido em DatabaseOpen    const string  table,             // nome da tabela para inserir dados    const string  filename,          // nome do arquivo para importar dados    uint          flags,             // combinação de sinalizadores    const string  separator,         // separador de dados     ulong         skip_rows,         // quantas primeiras linhas a pular     const string  skip_comments      // linhas de caracteres que definem comentários    );
   ```

   [DatabaseExport](https://www.mql5.com/pt/docs/database/databaseexport) Exporta uma tabela ou um resultado da consulta SQL para um arquivo CSV. O arquivo é criado como UTF-8.

   ```
   long  DatabaseExport(    int           database,           // identificador de banco de dados recebido em DatabaseOpen     const string  table_or_sql,       // nome da tabela ou consulta SQL    const string  filename,           // nome do arquivo CSV para exportação de dados     uint          flags,              // combinação de sinalizadores     const string  separator           // separador de dados no arquivo CSV  );
   ```

   [DatabasePrint](https://www.mql5.com/pt/docs/database/databaseprint) Imprime uma tabela ou um resultado da consulta SQL no log do EA.

   ```
   long  DatabasePrint(    int           database,          // identificador de banco de dados recebido em DatabaseOpen    const string  table_or_sql,      // tabela ou consulta SQL    uint          flags              // combinação de sinalizadores    );
   ```
4. MQL5: adicionada a função FileSelectDialog, que chama a caixa de diálogo do sistema para criar/abrir um arquivo ou pasta.

   ```
   int  FileSelectDialog(    string   caption,              // título da janela    string   initial_dir,          // pasta inicial    string   filter,               // filtro de extensão    uint     flags,                // combinação de sinalizadores    string&  filenames[],          // matriz com nomes de arquivos    string   default_filename      // nome do arquivo por padrão    );
   ```

    A nova função permite o usuário interagir convenientemente com o programa MQL5.
5. À enumeração ENUM_DEAL_PROPERTY_DOUBLE adicionado o valor DEAL_FEE — pagamento pela transação. De fato, esse é um tipo separado de comissão que pode ser cobrada pela corretora.

### Tester

1. Adicionada a possibilidade de definir suas próprias configurações de conta de negociação ao testar estratégias — restrições de negociação, configurações de margem e comissões. Assim, você obtém ainda mais oportunidades para modelar diferentes condições de negociação com as corretoras.

   ![](https://www.metatrader5.com/c/17/0/7_tester_advance_settings__3.png)

   **Configurações gerais** Nesta seção, você pode definir o número máximo de ordens e posições abertas que podem ser mantidas simultaneamente na conta. Também aqui você pode configurar sessões em que o programa testado não poderá negociar.**Margem** Aqui você pode controlar totalmente como a margem será reservada e qual sistema de registro de posição será usado durante o teste:

     - Gerenciamento de riscos — modelo de gerenciamento de riscos: balcão e baseado em bolsa, com compensação e cobertura. Informações detalhadas sobre eles estão disponíveis na [documentação](https://www.metatrader5.com/pt/terminal/help/trading/trading_advanced).
     - Nível "Margin call" — nível de fundos na conta, que ao serem atingidos muda para o estado Margin call.
     - Nível "Stop out" — nível de fundos que quando atingido faz com que o pedido seja retirado à força da conta e as posições de negociação sejam fechadas. Ambos os níveis podem ser indicados em porcentagem e em dinheiro. No primeiro caso, os níveis são definidos como o valor do indicador "Fundos" na conta. Quando você seleciona a opção "Em porcentagem", os níveis são determinados como o valor do indicador "Nível de margem" na conta (Fundos/Margem*100).
     - Não realizado — este campo indica como será levado em consideração o lucro/perda atual não registrado na margem livre:

           - Não usar lucros/perdas não realizados — não levar em consideração as posições abertas ao calcular.
           - Usar lucros/perdas não realizados — usar ao calcular perdas e lucro de posições abertas.
           - Usar lucro não realizado — use apenas lucro.
           - Usar perda não realizada — usar apenas perda.
     - Fixo diário — este campo indica como será levado em consideração o lucro/perda registrado pelo trader durante a negociação, na margem livre:

           - Usar lucros/perdas fixos diários — levar em consideração os lucros e perdas registrados durante o dia de negociação, na margem livre.
           - Usar perda fixa diária — levar em consideração apenas a perda registrada durante o dia de negociação, na margem livre. Durante o dia, o lucro acumulado é registrado em um campo separado da conta ("Bloqueado"). No final do pregão, o lucro acumulado é liberado (zerado) e refletido no saldo da conta (registrado na margem livre).
     - Liberar lucro acumulado no final do dia — esta opção estará disponível apenas quando a opção "Usar perda fixa diária" estiver ativada. Se ativada, no final do pregão, o lucro acumulado durante o dia será liberado e registrado no saldo (e, portanto, levado em consideração na margem livre). Caso contrário, não será considerado.

   **Comissão** Nesta seção, você está no controle total de como a comissão é cobrada em todas as operações de negociação.

     - As comissões podem ser de nível único e multinível, ou seja, podem ser cobradas com o mesmo valor, independentemente do volume da transação/rotatividade ou variar de acordo com o tamanho. As informações correspondentes são exibidas na especificação.
     - As comissões podem ser cobradas imediatamente após a transação ou no final do dia/mês de negociação.
     - As comissões podem ser cobradas dependendo da direção da transação: pela entrada, pela saída ou pelos dois tipos de operações.
     - As comissões podem ser cobradas por lote ou por transação.
     - As comissões podem ser cobradas em diferentes quantidades: em dinheiro, porcentagem ou pontos.

   ![](https://www.metatrader5.com/c/17/0/8_tester_commissions_set__3.png)
2. Significativamente otimizado e acelerado o trabalho no modo "Market Scan", quando várias passagens de teste são realizadas para todos os símbolos da Observação do Mercado.
3. Ao calcular o lucro em pips, é levado em consideração o tamanho da transação ou posição agora. Anteriormente, o cálculo era realizado sem considerar o volume, como para um lote.
4. Aprimorado gerenciamento gráfico dos resultados de otimização. Ao aumentar o zoom em um gráfico normal de otimização, você pode rolar por ele. Clique duplo em um ponto do gráfico agora seleciona o resultado correspondente na tabela de passagens.

Documentação atualizada.

**Veja as notícias anteriores:**

- [MetaTrader 5 Platform Build 2280](https://www.metatrader5.com/pt/releasenotes/terminal/2120)
- [MetaTrader 5 build 2265: funções DirectX para visualização 3D em MQL5 e configuração de ferramentas no testador de estratégias](https://www.metatrader5.com/pt/releasenotes/terminal/2117)
- [MetaTrader 5 build 2190](https://www.metatrader5.com/pt/releasenotes/terminal/2106)
- [MetaTrader 5 build 2170: escopos em MQL5, atualização global do testador de estratégia e hospedagem integrada](https://www.metatrader5.com/pt/releasenotes/terminal/2099)
- [MetaTrader 5 build 2085: integração com Python e inúmeros aprimoramentos no testador de estratégias](https://www.metatrader5.com/pt/releasenotes/terminal/2085)
