Tudo sobre integração com Bancos de Dados, Data Warehouses, Data Marts, Data Lakes, etc. utilizando o MetaTrader

 
Decidi criar esse tópico para concentrar tudo (perguntas, respostas, cases, informações, etc.) sobre integração de Bancos de Dados, Data Warehouses, Data Marts, Data Lakes, etc.  utilizando as plataformas MT4 e/ou MT5 e recursos como funções de acesso nativo, data collection, data loading, etc.

Algumas regras básicas:

1. Por favor não faça perguntas sobre outros assuntos aqui.
2. Por favor não faça perguntas se não postar seu código fonte exemplo relacionado à dúvida.
3. Por favor utilize Alt+S para editar e apresentar seu código fonte nesse tópico.
4. Não publique nenhum código fonte nesse tópico se não for de sua autoria ou público, como por exemplo os existentes no CodeBase.
4. Se você já criou ou vai criar um tópico especificamente com sua pergunta coloque aqui apenas uma referência para ele para evitar redundância.
5. Por favor siga as regras do fórum (https://www.mql5.com/pt/about/rules)

Obrigado e boa discussão a todos!

Rogério Figurelli
Regras
Regras
  • www.mql5.com
Por favor, seja educado na participação deste fórum. Quaisquer mensagens que possam ofender outros visitantes do fórum são proibidas. As discussões negativas sobre qualquer banco, corretoras, de outras empresas ou instituições financeiras estão proibidas. Estas postagens estão sujeitas à remoção. Todas as discussões sobre as relações pessoais...
 

Informações relevantes da nova beta da plataforma MetaTrader 5 (build 2245), onde foi adicionado suporte para trabalhar com bancos de dados SQLite diretamente em MQL5. Agora, ao usar funções MQL5, você pode conectar-se facilmente a bancos de dados e executar consultas SQL sem criar ligações complexas. A nova extensão da biblioteca padrão assume todo o trabalho interno.

As seguintes funções estão disponíveis (fonte: https://www.mql5.com/pt/forum/327615/unread#unread)

 //--- abrir e fechar banco de dados
  int  DatabaseOpen(string filename,UINT flags);
  void DatabaseClose(int database);
  
  //---  trabalho com tabelas
  bool DatabaseTableExists(int database,string table_name);

  //--- provisionamento de consulta SQL
  int  DatabasePrepare(int database,string sql,...);
  void DatabaseFinalize(int request);
  
  //--- ler o resultado da consulta sem/com ligação às estruturas MQL5
  int  DatabaseRead(int request);
  int  DatabaseReadBind(int request,struct or var);
  
  //--- extrair dados dos resultados da consulta como diferentes tipos de dados
  int  DatabaseGetColumnCount(int request);
  int  DatabaseGetColumnSize(int request,int column);
  int  DatabaseGetColumnType(int request,int column);
  int  DatabaseGetColumnText(int request,int column,string &value);
  int  DatabaseGetColumnInteger(int request,int column,int &value);
  int  DatabaseGetColumnLong(int request,int column,long &value);
  int  DatabaseGetColumnDouble(int request,int column,double &value);
  int  DatabaseGetColumnBlob(int request,int column,void &data[]);

  //--- trabalho com transações
  int  DatabaseExecute(int db_id,string request);  
  int  DatabaseBeginTransaction(int db_id);
  int  DatabaseCommitTransaction(int db_id);
  int  DatabaseRollbackTransaction(int db_id);
Nova beta da plataforma MetaTrader 5 build 2245: funções DirectX para visualização 3D em MQL5 e configuração de ferramentas no testador de estratégias
Nova beta da plataforma MetaTrader 5 build 2245: funções DirectX para visualização 3D em MQL5 e configuração de ferramentas no testador de estratégias
  • 2019.11.29
  • www.mql5.com
Na sexta-feira, 29 de novembro de 2019, será lançada uma versão atualizada da plataforma MetaTrader 5...
Razão: