Esta é a nova classe CCanvas3D que amplia as capacidades do CCanvas.
Adicionamos uma tonelada de métodos DirectX 11 nativos em MQL5 para que você possa visualizar modelos complexos em projeções 3D.
No lançamento, o trabalho nativo com SQLite SQLite em MQL5 provavelmente também estará disponível, se tivermos tempo. Isto simplificará muito o trabalho com dados maciços e fará seleções rápidas.
Não há necessidade de se preocupar com o tamanho do terminal - ele é muito compacto e integral dentro de suas capacidades.
Adicionamos o DirectX para permitir a criação de uma nova classe de programas. Poderoso e mais profissional devido à visualização de alta qualidade.
SQLite simplificará drasticamente o trabalho com dados massivos e heterogêneos. Não há necessidade de lidar com encadernações de arquivos primitivos, apenas salvar no banco de dados.
Nós vamos mais longe:
Adicionamos o suporte Clang / LLVM para C / C ++ ao editor para compilar projetos DLL / EXE localmente.
Mais importante ainda, estamos abrindo uma nova classe de programas na forma de módulos escritos em C / C ++ e convertidos com segurança para EX5
Será possível compilar as bibliotecas existentes no EX5 com pequenas correções. Todas as chamadas de api potencialmente perigosas serão substituídas por invólucros de controle MQL5.
Adicionamos suporte Python para facilitar a execução de scripts python do editor para gerar / processar dados para MQL5
Ampliamos as configurações detalhadas das comissões e das fichas do testador, além das configurações de símbolos já redefinidas em beta
Reduzimos os custos de recursos e o próprio esquema de entrega de dados históricos aos agentes locais
Algo estará disponível no lançamento em 27 de novembro, e o resto no próximo beta e lançamentos.
A versão beta da plataforma MetaTrader 5 atualizada será lançada em 29 de novembro de 2019. Convidamos todos os traders a participar dos testes da nova plataforma a fim de avaliar todas as suas características e ajudar os desenvolvedores a corrigir erros.
Para atualizar a plataforma MetaTrader 5 até o 2245, navegue para Ajudar \ Verificar Atualizações da Área de Trabalho \ Versão Beta mais recente:
A versão final da nova construção da plataforma MetaTrader 5 será lançada após o teste beta público.
A nova versão apresenta as seguintes mudanças:
Terminal: Mais colunas se tornaram disponíveis no Market Watch. A seção principal agora apresenta 40 parâmetros de símbolos adicionais, que anteriormente estavam disponíveis apenas na guia Detalhes.
Terminal: Adicionado destaque da conta atualmente conectada e do servidor atual no Navigator. A função será útil se você tiver várias contas com diferentes corretores.
Terminal: Projeto de estrutura atualizada para gráficos. As molduras se tornaram menores e, portanto, mais espaço está agora disponível para informações úteis.
Terminal: Algoritmo modificado para calcular os totais de negociação ao exibir o histórico de negociação como posições. Os valores são agora calculados com base em registros reais.
Para exibir o histórico de negociação como posições, o terminal utiliza informações sobre as negociações realizadas durante o período solicitado. Somente as posições fechadas dentro desse período serão mostradas no histórico. Se a posição ainda estiver aberta ou seu tempo de fechamento não estiver dentro do intervalo selecionado, ela não será mostrada no histórico. Portanto, o lucro total e a comissão no modo 'posições' podem diferir daqueles no modo 'ordens/concursos' do histórico.
Por exemplo, você está vendo a história da última semana. Durante este período, foram realizados 100 negócios, 98 dos quais abriram e fecharam 20 posições. Os dois últimos negócios abriram novas posições, que não foram fechadas até o momento. Neste caso, o histórico de transações contém 100 registros e valores totais apropriados calculados com base nestas transações. Ao visualizar o histórico como posições, você verá 20 registros coletados com base em 98 transações. Somente estes dados serão levados em conta no cálculo dos valores totais. Se o corretor cobrar taxas de entrada das transações, o valor final da comissão no histórico de transações será diferente das comissões mostradas no histórico de posições, pois duas últimas transações serão ignoradas no caso do último caso.
Terminal: Implementado o lançamento mais rápido dos programas MQL5.
Terminal: Nova chave /beta foi adicionada para o arquivo de instalação do terminal, o que permite baixar a versão beta. No modo normal, a versão de lançamento deve ser instalada primeiro, que pode então ser atualizada até uma versão beta. Ao pular esta etapa, você pode economizar tempo e tráfego. Exemplo de início de instalação:
C:\mt5setup.exe /beta
Terminal: Implementado mais rápido lançamento dos programas MQL5: Exibição fixa dos requisitos de margem para instrumentos com o tipo "Exchange Stocks".
Terminal: Operação acelerada de todos os componentes da plataforma através do uso do compilador Clang/LLVM. Em alguns casos, a compilação é 20% mais rápida.
MQL5: Adicionadas novas funções DirectX 11 e shaders para visualização 3D. Agora gráficos tridimensionais poderosos podem ser criados diretamente na MQL5.
A nova classe CCanvas3D é uma extensão da classe de gráficos personalizados CCanvas. Ela está disponível no diretório {MQL5}Incluído no Canvas. A classe apresenta funções para renderizar objetos tridimensionais via DirectX API.
Criar - cria uma cena.
Anexar - vincula uma cena a um gráfico.
Destroy - destrói uma cena.
ObjectAdd - adiciona à cena um objeto descendente herdado da classe base CDXObject.
Renderizar - o loop de renderização completo, com compensação de buffer e renderização de todos os CDXObject, adicionados através do método ObjectAdd.
RenderBegin - inicia a renderização da cena, preenche o buffer de renderização com a cor especificada (se a bandeira DX_CLEAR_COLOR estiver definida) e os buffers de profundidade (ao usar DX_CLEAR_DEPTH), bem como define o buffer de cena DXInputScene para shaders padrão.
RenderEnd - completa a renderização da cena e recebe um resultado para um buffer interno. Se redraw==verdadeiro, exibe a imagem no gráfico, no qual está rodando.
ViewMatrixGet - recebe uma matriz de visualização.
ViewMatrixSet - define uma matriz de visualização. A matriz não é compatível com os métodos ViewPositionSet, ViewRotationSet, ViewTargetSet e ViewUpDirectionsSet.
ViewPositionSet - define a posição da câmera.
ViewRotationSet - define a matriz de rotação da câmera.
ViewTargetSet - define o ponto para o qual a câmera está apontando. Juntamente com ViewUpDirectionsSet, é uma alternativa ao ViewRotationSet.
ViewUpDirectionsSet - define a posição vertical da câmera. Juntamente com ViewTargetSet, é uma alternativa ao ViewRotationSet.
ProjectionMatrixGet - matriz de projeção recebida.
ProjectionMatrixSet - define a matriz de projeção.
A documentação detalhada para a nova biblioteca será publicada em breve.
Novos exemplos de uso de funções estão disponíveis em MQL5Exemplos de especialistas:
CorrelaçãoMatrix3D
DemoMorphMath3D
Compilá-los e executá-los em um gráfico para visualizar as possibilidades de visualização em 3D na MQL5.
MQL5: Adicionado suporte para operações com bancos de dados SQLite diretamente da MQL5. A conexão com bancos de dados e a execução de consultas SQL podem agora ser implementadas usando as funções da MQL5. A operação interna é implementada pela nova extensão da biblioteca padrão.
As seguintes funções estão disponíveis:
//--- opening and closing the databaseint DatabaseOpen(string filename,UINT flags);
void DatabaseClose(int database);
//--- working with tablesbool DatabaseTableExists(int database,string table_name);
//--- preparing an SQL queryint DatabasePrepare(int database,string sql,...);
void DatabaseFinalize(int request);
//--- reading a query result without/with binding to MQL5 structureint DatabaseRead(int request);
int DatabaseReadBind(int request,struct or var);
//--- extracting data from query results to different data typesint 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[]);
//--- working with transactionsint DatabaseExecute(int db_id,string request);
int DatabaseBeginTransaction(int db_id);
int DatabaseCommitTransaction(int db_id);
int DatabaseRollbackTransaction(int db_id);
MQL5: Adicionada nova propriedade dos programas MQL5, que permite a seleção de um método de visualização padrão.
#property optimization_chart_mode "3d,InpX,InpY"
A propriedade permite definir o tipo de gráfico que se abre ao final da otimização, assim como os parâmetros do programa para os eixos X e Y.
A propriedade define apenas a visualização padrão do gráfico. Ela pode ser alterada manualmente a qualquer momento, usando o menu de contexto.
MQL5: Nova função MathArctan2. Retorna o valor radiano do ângulo, cuja tangente é igual à razão dos dois números especificados.
double MathArctan2(
double y // the y coordinate of the pointdouble x // the x coordinate of the point
);
MQL5: Temos realizado a otimização geral dos programas para melhorar o desempenho e reduzir o consumo de recursos.
MQL5: Acrescentei exemplos de cálculos matemáticos que podem ser realizados no testador de estratégia. Eles estão disponíveis sob o diretório MQL5ExpertsExemplos de matemática 3D.
MQL5: Introduziu um controle mais rigoroso dos namespaces.
MQL5: Adicionado o carregamento de bibliotecas vinculadas ao usar bibliotecas .NET em programas MQL5. Se a biblioteca .NET usada requerer outras bibliotecas para operação, o compilador tentará baixar as bibliotecas necessárias automaticamente das bibliotecas \QL5.
MQL5: Operações de tempo fixo no módulo MetaTrader para integração com o Python. Agora todos os dados de saída utilizam o tempo do servidor comercial ao qual o terminal está conectado.
Testador: Uma infinidade de novas características e melhorias:
Configurações personalizadas para instrumentos financeiros Agora você pode alterar as configurações do principal instrumento comercial, usando qual teste/optimização é realizado. Quase todos os parâmetros de especificação podem ser sobrescritos: volumes, modos de negociação, requisitos de margem, modo de execução e outras configurações. Assim, se você precisar verificar um Expert Advisor sob diferentes condições, não há necessidade de criar um símbolo personalizado separado e baixar seu histórico. Isto pode ser feito alterando as configurações padrão de símbolos.
Se a especificação do símbolo for personalizada, o ícone da engrenagem e o ícone do símbolo são marcados com um asterisco. Isto mostra que os parâmetros personalizados são usados para o teste atual.
Últimas configurações/expert Advisors/charts Use os novos comandos do menu de contexto para testes rápidos ou configuração de otimização. Escolha as últimas configurações de teste usadas, gráficos recentes ou aplicações:
MetaEditor: Capacidade adicional para compilar projetos C/C++ e Python diretamente do MetaEditor. Agora, os projetos multilíngues podem ser gerenciados usando o editor incorporado.
Se os compiladores apropriados estiverem instalados em seu PC, o MetaEditor os detectará e os adicionará às configurações. Opcionalmente, você pode especificar os caminhos para os componentes necessários na guia Compiladores. Na mesma aba, você pode baixar os componentes clicando em Instalar ao lado do campo apropriado.
Depois disso, você pode compilar projetos C/C++ e Python de forma semelhante aos programas MQL5.
MetaEditor: Suporte adicional para sub-projetos dentro do diretório de Projetos Compartilhados destinado ao desenvolvimento de projetos compartilhados via MQL5 Storage. Anteriormente, apenas projetos individuais podiam ser criados no nível superior.
MetaEditor: Atualizações do depurador embutido.
MetaEditor: Adição fixa de um cabeçalho de função ao utilizar um estilizador de código.
MetaEditor: comandos 'Saltar para a posição anterior/próximo cursor' agora estão disponíveis não apenas no menu Exibir, mas também na barra de ferramentas.
MetaEditor: Espaços agora podem ser usados em nomes de projetos.
Android: Capacidade adicional de mudar rapidamente para páginas de depósito/saque no site do corretor.
Não há necessidade de procurar por funções apropriadas na sala de um corretor no site do corretor. Os comandos de navegação rápida estão disponíveis diretamente nos terminais: os usuários podem mudar para páginas de depósito e saque nas seções de Contas e Negociação:
As operações de depósito/saque só estão disponíveis se as funções apropriadas estiverem habilitadas para a conta de negociação do lado do corretor.
O terminal de negociação não realiza nenhuma operação de depósito/retirada de conta. As funções integradas redirecionam o usuário para as páginas apropriadas do site da corretora.
Android: As posições no histórico são classificadas agora por data de fechamento.
Android: Marcação adicional de posições fechadas por Stop Loss ou Take Profit com linhas verticais vermelhas e verdes na seção do histórico.
Categoria - o imóvel é usado para marcação adicional de instrumentos financeiros. Por exemplo, este pode ser o setor do mercado ao qual o símbolo pertence: Agricultura, Petróleo e Gás e outros. A categoria é exibida somente se a informação apropriada for fornecida pelo corretor.
Bolsa de Valores - o nome da bolsa na qual o título é negociado. A categoria é exibida somente se as informações apropriadas forem fornecidas pelo corretor.
Android: Adicionada indicação de estado de chamada de margem na seção de negociação. Ao surgir este estado, os parâmetros de Margem, Margem Livre e Nível de Margem são mostrados em vermelho.
Android: Exibição fixa do botão de abertura da seção OTP em tabletes.
Android: Outras correções e melhorias.
iPhone/iPad: Capacidade adicional para mudar rapidamente para páginas de depósito/saque no site do corretor. Para mais detalhes, consulte a lista Novidades do MetaTrader 5 para Android.
iPhone/iPad: Adicionado suporte ao modo escuro para iOS/iPadOS.
iPhone/iPad: A seção de senha única ficou disponível na versão iPad.
iPhone/iPad: As posições fechadas por Stop Loss ou Take Profit são marcadas com linhas verticais vermelhas e verdes na seção do histórico.
iPhone/iPad: As posições no histórico são classificadas agora por data de fechamento. Se a posição ainda não tiver sido fechada, sua data de abertura é usada para classificação.
iPhone/iPad: Outras correções e melhorias.
Correções baseadas em registros de crash.
A atualização estará disponível através do sistema Live Update.
As bases podem ser armazenadas tanto em disco como somente na memória usando a bandeira DATABASE_OPEN_MEMORY. Embalar inserções / mudanças maciças em um Banco de DadosTransactionBegin / Commit / Rollback transaction acelera as operações centenas de vezes.
Como estamos focados no desempenho tanto quanto possível, aqui estão os resultados dos testes LLVM 9.0.0 vs MQL5. Tempo em milissegundos, quanto menos, melhor:
Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz
LLVM MQL5
---------------------------------------------------------------------------------
Test 1: 1000 INSERTs: 11572 8488
Test 2: 25000 INSERTs in a transaction: 59 60
Test 3: 25000 INSERTs into an indexed table: 102 105
Test 4: 100 SELECTs without an index: 142 150
Test 5: 100 SELECTs on a string comparison: 391 390
Test 6: Creating an index: 43 33
Test 7: 5000 SELECTs with an index: 385 307
Test 8: 1000 UPDATEs without an index: 58 54
Test 9: 25000 UPDATEs with an index: 161 165
Test 10: 25000 text UPDATEs with an index: 124 120
Test 11: INSERTs from a SELECT: 84 84
Test 12: DELETE without an index: 25 74
Test 13: DELETE with an index: 70 72
Test 14: A big INSERT after a big DELETE: 62 66
Test 15: A big DELETE followed by many small INSERTs: 33 33
Test 16: DROP TABLE: finished. 42 40
A velocidade em MQL5 é absolutamente a mesma que em C ++ nativo com um dos melhores compiladores. Um pacote de referência para reprodução é anexado.
Também implementamos a função exclusiva DatabaseReadBind, que permite a leitura de registros diretamente na estrutura, o que simplifica e acelera as operações em massa.
Aqui está um exemplo simples:
struct Person
{
int id;
string name;
int age;
string address;
double salary;
};
//+------------------------------------------------------------------+//| Test |//+------------------------------------------------------------------+bool TestDB( string filename, int flags)
{
int db;
//--- open
db=DatabaseOpen(filename,flags);
if (db== INVALID_HANDLE )
{
Print ( "DB: " ,filename, " open failed with code " , GetLastError ());
return ( false );
}
//--- create a tableif (!DatabaseTableExists(db, "COMPANY" ))
if (!DatabaseExecute(db, "CREATE TABLE COMPANY(""ID INT PRIMARY KEY NOT NULL,""NAME TEXT NOT NULL,""AGE INT NOT NULL,""ADDRESS CHAR(50),""SALARY REAL );" ))
{
Print ( "DB: " ,filename, " create table failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- insert dataif (!DatabaseExecute(db, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); ""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); ""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );" ))
{
Print ( "DB: " ,filename, " insert failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- prepare the requestint request=DatabasePrepare(db, "SELECT * FROM COMPANY WHERE SALARY>15000" );
if (request== INVALID_HANDLE )
{
Print ( "DB: " ,filename, " request failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- выводим записи
Person person;
for ( int i= 0 ; DatabaseReadBind(request,person); i++)
Print (i, ": " ,person.id, " " , person.name, " " ,person.age, " " ,person.address, " " ,person.salary);
Print ( "" );
//--- close all
DatabaseFinalize(request);
DatabaseClose(db);
return ( true );
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
TestDB( "test.sqlite" ,DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
}
Output:
0 : 1 Paul 32 California 20000.01 : 3 Teddy 23 Norway 20000.02 : 4 Mark 25 Rich-Mond 65000.0
A atualização da plataforma MetaTrader 5 será lançada na sexta-feira, 13 de dezembro de 2019. A atualização apresenta adições e correções importantes com base no feedback que recebemos após a atualização principal anterior do MetaTrader 5 build 2265:
Terminal: Corrigido um bug que causava a incapacidade de excluir um Expert Advisor do gráfico sem dados.
Terminal: Exibição fixa do cabeçalho da carta em Vinho.
MQL5: Melhor velocidade de carregamento e compilação dos programas MQL5.
MQL5: Um duplo clique em um gráfico é agora passado como um evento de um único clique para um programa MQL5. Anteriormente, tais eventos não eram tratados.
Testador: Corrigido um bug que continha o símbolo de teste em configurações para ficar vazio. O erro poderia resultar da troca entre contas de negociação com diferentes conjuntos de instrumentos de negociação. O novo comportamento: se o símbolo selecionado anteriormente não for encontrado na conta de negociação conectada atualmente, o primeiro símbolo disponível em Market Watch é automaticamente selecionado em seu lugar.
MetaEditor: Carregamento fixo de ícones de aplicação na reabertura das propriedades do projeto.
Na primeira parte da série de artigos, analisamos os padrões Merrill e os aplicamos em diferentes matrizes de dados, como os osciladores baseados em preço e preço ATR, CCI e WPR, entre outros. O objetivo do artigo era explorar e avaliar as perspectivas de utilização dos padrões especificados em mercados forex e outros mercados. A segunda parte foi dedicada à criação de um Strategy Builder para montar estratégias simples utilizando os padrões previamente discutidos. Na terceira parte, vamos expandir a criação da estratégia e a funcionalidade de testes. Acrescentaremos a possibilidade de trabalhar com lotes além de pontos, bem como a funcionalidade de visualização dos resultados dos testes.
In the first part of the article series, we analyzed Merrill patterns and applied them to different data arrays, such as the price and price-based oscillators ATR, CCI and WPR, among others. The purpose of the article was to explore and evaluate the prospects of using the specified patterns on forex and other markets. The second part was...
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Nova versão da plataforma MetaTrader 5 build 2190
MetaQuotes Software Corp., 2019.11.12 15:28
Lançado o beta 2208:
Você pode atualizar através do menu Ajuda -> Verificar por Atualizações.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Novas capacidades gráficas em MQL5 com acesso direto ao DirectX 11
MetaQuotes Software Corp., 2019.11.22 11:30
27 de novembro de 2019 lançaremos um build com novas capacidades gráficas para a construção de visualizações complexas em 3D.
Oferecemos para ver uma demonstração:
Um exemplo na forma de um arquivo ex5 pode ser executado na atual versão beta 2224, disponível pelo comando Help -> Check for Updates.
Fórum sobre negociação, sistemas de negociação automatizados e estratégias de negociação de teste
Novas capacidades gráficas em MQL5 com acesso direto ao DirectX 11
Renat Fatkhullin, 2019.11.22 12:12
Esta é a nova classe CCanvas3D que amplia as capacidades do CCanvas.
Adicionamos uma tonelada de métodos DirectX 11 nativos em MQL5 para que você possa visualizar modelos complexos em projeções 3D.
No lançamento, o trabalho nativo com SQLite SQLite em MQL5 provavelmente também estará disponível, se tivermos tempo. Isto simplificará muito o trabalho com dados maciços e fará seleções rápidas.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Novas capacidades gráficas em MQL5 com acesso direto ao DirectX 11
Renat Fatkhullin, 2019.11.24 20:10
Não há necessidade de se preocupar com o tamanho do terminal - ele é muito compacto e integral dentro de suas capacidades.
Adicionamos o DirectX para permitir a criação de uma nova classe de programas. Poderoso e mais profissional devido à visualização de alta qualidade.
SQLite simplificará drasticamente o trabalho com dados massivos e heterogêneos. Não há necessidade de lidar com encadernações de arquivos primitivos, apenas salvar no banco de dados.
Nós vamos mais longe:
Será possível compilar as bibliotecas existentes no EX5 com pequenas correções. Todas as chamadas de api potencialmente perigosas serão substituídas por invólucros de controle MQL5.
Algo estará disponível no lançamento em 27 de novembro, e o resto no próximo beta e lançamentos.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Novas capacidades gráficas em MQL5 com acesso direto ao DirectX 11
Renat Fatkhullin, 2019.11.25 20:13
Build 2228 Disponível:
Agora, tais visualizações são facilmente feitas diretamente na MQL5 usando a biblioteca CCanvas3D padrão.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Novo MetaTrader 5 Plataforma beta construída 2245: Funções DirectX para visualização 3D em MQL5 e configurações de símbolos no Strategy Tester
MetaQuotes Software Corp., 2019.11.29 13:41
A versão beta da plataforma MetaTrader 5 atualizada será lançada em 29 de novembro de 2019. Convidamos todos os traders a participar dos testes da nova plataforma a fim de avaliar todas as suas características e ajudar os desenvolvedores a corrigir erros.
Para atualizar a plataforma MetaTrader 5 até o 2245, navegue para Ajudar \ Verificar Atualizações da Área de Trabalho \ Versão Beta mais recente:
A versão final da nova construção da plataforma MetaTrader 5 será lançada após o teste beta público.
A nova versão apresenta as seguintes mudanças:
Para exibir o histórico de negociação como posições, o terminal utiliza informações sobre as negociações realizadas durante o período solicitado. Somente as posições fechadas dentro desse período serão mostradas no histórico. Se a posição ainda estiver aberta ou seu tempo de fechamento não estiver dentro do intervalo selecionado, ela não será mostrada no histórico. Portanto, o lucro total e a comissão no modo 'posições' podem diferir daqueles no modo 'ordens/concursos' do histórico.
Por exemplo, você está vendo a história da última semana. Durante este período, foram realizados 100 negócios, 98 dos quais abriram e fecharam 20 posições. Os dois últimos negócios abriram novas posições, que não foram fechadas até o momento. Neste caso, o histórico de transações contém 100 registros e valores totais apropriados calculados com base nestas transações. Ao visualizar o histórico como posições, você verá 20 registros coletados com base em 98 transações. Somente estes dados serão levados em conta no cálculo dos valores totais. Se o corretor cobrar taxas de entrada das transações, o valor final da comissão no histórico de transações será diferente das comissões mostradas no histórico de posições, pois duas últimas transações serão ignoradas no caso do último caso.
A nova classe CCanvas3D é uma extensão da classe de gráficos personalizados CCanvas. Ela está disponível no diretório {MQL5}Incluído no Canvas. A classe apresenta funções para renderizar objetos tridimensionais via DirectX API.
A documentação detalhada para a nova biblioteca será publicada em breve.
Novos exemplos de uso de funções estão disponíveis em MQL5Exemplos de especialistas:
Compilá-los e executá-los em um gráfico para visualizar as possibilidades de visualização em 3D na MQL5.
As seguintes funções estão disponíveis:
A propriedade permite definir o tipo de gráfico que se abre ao final da otimização, assim como os parâmetros do programa para os eixos X e Y.
A propriedade define apenas a visualização padrão do gráfico. Ela pode ser alterada manualmente a qualquer momento, usando o menu de contexto.
Configurações personalizadas para instrumentos financeiros
Agora você pode alterar as configurações do principal instrumento comercial, usando qual teste/optimização é realizado. Quase todos os parâmetros de especificação podem ser sobrescritos: volumes, modos de negociação, requisitos de margem, modo de execução e outras configurações. Assim, se você precisar verificar um Expert Advisor sob diferentes condições, não há necessidade de criar um símbolo personalizado separado e baixar seu histórico. Isto pode ser feito alterando as configurações padrão de símbolos.

Se a especificação do símbolo for personalizada, o ícone da engrenagem e o ícone do símbolo são marcados com um asterisco. Isto mostra que os parâmetros personalizados são usados para o teste atual.Últimas configurações/expert Advisors/charts
Use os novos comandos do menu de contexto para testes rápidos ou configuração de otimização. Escolha as últimas configurações de teste usadas, gráficos recentes ou aplicações:
Se os compiladores apropriados estiverem instalados em seu PC, o MetaEditor os detectará e os adicionará às configurações. Opcionalmente, você pode especificar os caminhos para os componentes necessários na guia Compiladores. Na mesma aba, você pode baixar os componentes clicando em Instalar ao lado do campo apropriado.

Depois disso, você pode compilar projetos C/C++ e Python de forma semelhante aos programas MQL5.Não há necessidade de procurar por funções apropriadas na sala de um corretor no site do corretor. Os comandos de navegação rápida estão disponíveis diretamente nos terminais: os usuários podem mudar para páginas de depósito e saque nas seções de Contas e Negociação:
A atualização estará disponível através do sistema Live Update.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
SQLite em MQL5: Novas características e testes de desempenho
Renat Fatkhullin, 2019.12.07 09:24
Na build 2265, implementamos funções regulares para trabalhar com bancos de dados baseados no SQLite 3.30.1:
Como estamos focados no desempenho tanto quanto possível, aqui estão os resultados dos testes LLVM 9.0.0 vs MQL5. Tempo em milissegundos, quanto menos, melhor:As bases podem ser armazenadas tanto em disco como somente na memória usando a bandeira DATABASE_OPEN_MEMORY . Embalar inserções / mudanças maciças em um Banco de DadosTransactionBegin / Commit / Rollback transaction acelera as operações centenas de vezes.
Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz LLVM MQL5 --------------------------------------------------------------------------------- Test 1: 1000 INSERTs: 11572 8488 Test 2: 25000 INSERTs in a transaction: 59 60 Test 3: 25000 INSERTs into an indexed table: 102 105 Test 4: 100 SELECTs without an index: 142 150 Test 5: 100 SELECTs on a string comparison: 391 390 Test 6: Creating an index: 43 33 Test 7: 5000 SELECTs with an index: 385 307 Test 8: 1000 UPDATEs without an index: 58 54 Test 9: 25000 UPDATEs with an index: 161 165 Test 10: 25000 text UPDATEs with an index: 124 120 Test 11: INSERTs from a SELECT: 84 84 Test 12: DELETE without an index: 25 74 Test 13: DELETE with an index: 70 72 Test 14: A big INSERT after a big DELETE: 62 66 Test 15: A big DELETE followed by many small INSERTs: 33 33 Test 16: DROP TABLE: finished. 42 40A velocidade em MQL5 é absolutamente a mesma que em C ++ nativo com um dos melhores compiladores. Um pacote de referência para reprodução é anexado.
Também implementamos a função exclusiva DatabaseReadBind, que permite a leitura de registros diretamente na estrutura, o que simplifica e acelera as operações em massa.
Aqui está um exemplo simples:
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Nova versão da plataforma MetaTrader 5 construída 2265: Funções DirectX para visualização em 3D em MQL5 e criação de ferramentas no testador de estratégia
Renat Fatkhullin, 2019.12.07 08:28
Veja as novas características dos gráficos 3D com exemplos na versão 2265:
E um conjunto de funções para trabalhar com bancos de dados SQLite.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Algumas ferramentas não funcionam com a nova construção 2265 de MT5 - como consertar?
Aytugan Khafizov, 2019.12.09 17:30
Lançamos uma versão beta do terminal MT5 com correção para problemas de tamanho de ticksize e StringTrim.
Favor abrir uma conta demo no servidor MetaQuotes-Demo para baixar a atualização
E nos forneça feedback.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Nova Plataforma MetaTrader 5 Build 2280
MetaQuotes Software Corp., 2019.12.12 15:54
A atualização da plataforma MetaTrader 5 será lançada na sexta-feira, 13 de dezembro de 2019. A atualização apresenta adições e correções importantes com base no feedback que recebemos após a atualização principal anterior do MetaTrader 5 build 2265:
A atualização estará disponível através do sistema Live Update.
OpenCL
O fórum
CodeBase
Os artigos
Os blogs
A documentação
O mercado
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
SQLite em MQL5: Novas características e testes de desempenho
Rashid Umarov, 2019.12.17.17: 01
Acrescentei exemplos de trabalho com funções - eu dou em ordem de complexidade:
Estendendo a Funcionalidade do Strategy Builder - o artigo
- Introdução
- Visão geral das adições
- Novas Etapas de Implementação das Características
- Teste e Demonstração do Strategy Builder
- Conclusão
IntroduçãoNa primeira parte da série de artigos, analisamos os padrões Merrill e os aplicamos em diferentes matrizes de dados, como os osciladores baseados em preço e preço ATR, CCI e WPR, entre outros. O objetivo do artigo era explorar e avaliar as perspectivas de utilização dos padrões especificados em mercados forex e outros mercados. A segunda parte foi dedicada à criação de um Strategy Builder para montar estratégias simples utilizando os padrões previamente discutidos. Na terceira parte, vamos expandir a criação da estratégia e a funcionalidade de testes. Acrescentaremos a possibilidade de trabalhar com lotes além de pontos, bem como a funcionalidade de visualização dos resultados dos testes.