Discussão do artigo "Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte I). Conceito, gerenciamento de dados e primeiros resultados" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Artem, não dê atenção aos neo-devotos, por favor. Deixe-os gritar. Você está fazendo um bom trabalho. Tenho uma pergunta: há pelo menos um cronograma aproximado para os próximos artigos desta série? Por exemplo: uma vez por semana, uma vez por mês, trimestralmente .... ???
O segundo artigo está pronto, aguardando publicação. O terceiro está em desenvolvimento. Planejo não atrasar o lançamento de novas partes, pois todas estão interconectadas e cada parte é uma continuação e expansão das anteriores. Planejo lançar uma série de artigos. Como resultado, haverá uma biblioteca e, após conectá-la, o usuário obterá imediatamente uma coleção automatizada dos dados necessários e uma ampla gama de ferramentas para usar os dados disponíveis em seus programas. Será fornecido e explicado o acesso aos métodos necessários das classes da biblioteca, ou o simples uso habitual das funções usuais para aqueles que não estão familiarizados com as classes - haverá um grande conjunto de funções da biblioteca, bem como o acesso aos dados por meio de estruturas. O usuário não precisará fazer nenhuma recuperação e processamento de dados - ele só precisará solicitar os dados de que precisa no estilo "pergunta-resposta-aplicativo".
Por exemplo: consulta: quando tal ordem pendente foi excluída? resposta: então. Ou: consulta: você precisa de dados sobre a última posição fechada, resposta: uma estrutura preenchida com todos os dados da posição é retornada. Ou: você precisa excluir uma ordem clicada pelo usuário, a resposta é que a ordem foi excluída. Ou: precisamos de um tíquete de uma posição com o menor preço de abertura no símbolo EURUSD e com a mágica 12345, a resposta será o preço dessa ordem e a estrutura preenchida com todos os dados dessa posição.
As consultas, é claro, são feitas por funções. Como exemplo (hipotético): GetLastClosePosition() - retorna uma estrutura com campos preenchidos sobre a última posição fechada, GetLastClosePosition("USDCAD") - retorna uma estrutura com campos preenchidos sobre a última posição fechada no símbolo USDCAD, etc.
Mas será possível endereçar as classes diretamente e obter ponteiros para listas, das quais se obtêm os dados necessários de forma independente.
E assim por diante, etc., etc.
Por exemplo: consulta: quando essa ordem pendente foi excluída? resposta: então. Ou: solicitação: precisamos de dados sobre a última posição fechada, a resposta: uma estrutura preenchida com todos os dados da posição é retornada. Ou: é necessário excluir uma ordem clicada pelo usuário, a resposta é que a ordem foi excluída. Ou: precisamos de um tíquete de uma posição com o menor preço de abertura no símbolo EURUSD e com a mágica 12345, a resposta será o preço dessa ordem e a estrutura preenchida com todos os dados dessa posição.
O retorno da estrutura é caro. Pelo mesmo motivo, CopyRates é várias vezes mais caro que CopyClose.
É caro retornar uma estrutura. Pelo mesmo motivo, CopyRates é várias vezes mais caro que CopyClose.
Bem, o retorno de estruturas está planejado como um recurso adicional a pedido do usuário - puramente por conveniência. Isso será visto mais adiante. De qualquer forma, a biblioteca é criada "on the fly" com uma descrição das etapas de sua criação, com a realização de alterações. Portanto, mais adiante veremos como fazer com que "não seja caro".
No entanto, eu já fiz isso. Agora estou apenas descrevendo-o de forma estruturada e, ao mesmo tempo, colocando tudo em ordem para mim.
E, em geral, estou acostumado a fazer "do simples ao complexo", mas pensando com antecedência "o que vem a seguir", para não ficar preso à necessidade de revisar o conceito, da qual ninguém está imune.
Não consigo imaginar nada mais conveniente do que o que os desenvolvedores criaram no MT4.
O que você quer dizer com "caro"???
Caro em termos de consumo de recursos
Talvez eu não esteja entendendo alguma coisa, mas até agora a forma proposta de localização (tradução de mensagens para outros idiomas) parece errada. O código-fonte da biblioteca não deve mudar dependendo da localização, e agora o russo está escrito lá como o principal? Como é possível adicionar, por exemplo, alemão ou francês?
Até o momento
Por enquanto
Se você deixar as coisas assim por enquanto, terá de alterar muito código mais tarde, se redesenhar a localização. Qual é a dificuldade de conectar strings de bibliotecas de "recursos" ou cabeçalhos de uma só vez?