Discussão do artigo "Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte II). Coleção do histórico de ordens e negócios"

 

Novo artigo Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte II). Coleção do histórico de ordens e negócios foi publicado:

Na primeira parte, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Nós criamos o objeto abstrato COrder, que é um objeto base para o armazenamento de dados do histórico de ordens e negócios, bem como as ordens à mercado e posições. Agora nós vamos desenvolver todos os objetos necessários para o armazenamento de dados do histórico da conta em coleções.

Coleção do histórico de ordens e negócios

É sempre útil ter o histórico da conta em mãos. O terminal fornece e provê as ferramentas para obtê-lo nos programas. No entanto, nossas tarefas atuais exigem uma lista personalizada que nós podemos ordenar e reorganizar para retornar os dados necessários aos nossos programas. Isso significa que a alteração do estado anterior do histórico da conta deve ser verificada a cada tick. Se uma alteração for detectada, a lista do histórico de ordens e negócios deve ser recalculada. Mas ordenar o histórico inteiro a cada tick é muito custoso. Portanto, nós faremos apenas as adições à nossa lista de novos dados, enquanto os dados anteriores já estão armazenados na lista.

Vamos criar a nova classe CHistoryCollection na pasta Collections:

Clique com o botão direito do mouse na pasta Collections, selecione "Novo Arquivo", selecione "Nova Classe" na janela do Assistente MQL e clique em Avançar. Digite o nome da classe CHistoryCollection, deixe o campo da classe base em branco e clique em Concluir.

Autor: Artyom Trishkin

 
Bom artigo. É muito detalhado. Até mesmo os iniciantes podem entendê-lo, pois tudo é explicado passo a passo com imagens.
 
Alexander Fedosov:
Bom artigo. É muito detalhado. Até mesmo os iniciantes podem entendê-lo, pois tudo é explicado passo a passo com imagens.

Muito obrigado. Eu tento deixar tudo claro para todos.

 

Sim, os artigos são excelentes e bem descritos.

Tenho até artefatos para lembrar)

Artigo nº 1 = caneca

Artigo nº 2 = bule

Como haverá uma série de artigos, ainda não comprarei uma nova caneca para ferver água para o chá, limparei a panela e continuarei usando-a).

Arquivos anexados:
1.JPG  818 kb
2.JPG  1043 kb
 
Vitaly Muzichenko:

Sim, os artigos são excelentes e bem descritos.

Tenho até artefatos para lembrar)

Artigo 1 = caneca

Artigo nº 2 = pote

Como haverá uma série de artigos, ainda não comprarei uma nova caneca para ferver água para o chá, limparei a panela e continuarei usando-a).

Obrigado. Vitaly, tenho muitas guloseimas e coisas interessantes prontas para o terceiro artigo, então posso lhe enviar um conjunto de canecas e panelas

 
Artyom Trishkin:

Obrigado a você. Vitaly, tenho muitas guloseimas e coisas interessantes prontas no terceiro artigo, então posso lhe enviar um conjunto de canecas e panelas

Legal CKruzhka?)
 

Muito bem.

Você está se saindo bem.

É uma pena. Ainda não vi o primeiro artigo. Mas verei. Posso ver para onde você desapareceu. Acho que sou eu quem está desaparecido. Isso seria mais preciso

 
Victor Nikolaev:

Bom para você.

Você está se saindo bem.

É uma pena. Ainda não vi o primeiro artigo. Mas verei. Posso ver onde você está perdido. Acho que sou eu quem está faltando. Isso seria mais preciso

Obrigado, Vitya, fico feliz em ouvi-lo, mesmo que seja tão raro....
 
Victor Nikolaev:

...

Oh, temos muitas pessoas vindo aqui. Que bom que você não esqueceu o caminho para nossa casa).

 
Na verdade, é um exemplo de como não programar (não estamos falando de funcionalidade, mas de implementação): tudo é enfiado na classe base, muitos sinalizadores e plugues são feitos nos herdeiros para determinar o que é suportado onde, uma folha de copypastes.... Antipadrões. É claro que tudo isso é "ao vivo", mas já finge ser um redesenho completo, se for bom.
 
Stanislav Korotky:
Na verdade, é um exemplo de como não programar (não estamos falando de funcionalidade, mas de implementação): tudo é enfiado na classe base, muitos sinalizadores e plugues são feitos nos herdeiros para determinar o que é suportado onde, uma folha de copypastes.... Antipadrões. É claro que tudo isso é "ao vivo", mas já finge ser um redesenho completo, se bem.
Obrigado por sua opinião. Não vou discutir nem mudar o conceito.