Discussão do artigo "Otimização Walk Forward Contínua (Parte 7): Vinculação da parte lógica do Otimizador Automático com a parte gráfica e o controle do mesmo no programa"
Você demonstrou novamente seu alto nível profissional como programador. Um pouco mais de usabilidade, por assim dizer, para obter mais popularidade. Para entender esses artigos, você precisa de uma quantidade proporcional ao tempo gasto para escrevê-los. Você colocaria seu otimizador no kodobase, apenas como código e instruções de uso? Talvez ele seja notado por mais operadores.
Vejo que o critério de otimização personalizado ainda não apareceu e a altura no calendário..... Como o OnTester() é usado obrigatoriamente, poderíamos usar apenas o critério personalizado. E, mais uma vez, gostaria de refletir sobre a automação da entrada de períodos de teste. Minha prática mostra que é melhor executar a otimização do teste avançado em períodos de 3 a 5 semanas em vários instrumentos. Escrever manualmente todos os períodos de cada peça não é para os fracos de coração. Não é difícil criar um script usando as ferramentas MQL5 para receber e gerar períodos, mas, devido às limitações de sandbox e formato, você terá que transferi-los manualmente para o Auto-Optimiser. Você pode fazer isso na funcionalidade do programa. Talvez você não precise disso pessoalmente, mas para quem você escreveu artigos tão grandes e complexos?
A operação confiável é a vantagem do Auto Optimiser em relação ao seu conhecido análogo, enquanto a complexidade de sua configuração é uma desvantagem. Mas você tem um manual para aqueles que o encontrarem.
Você demonstrou novamente seu alto nível profissional como programador. Um pouco mais de usabilidade, por assim dizer, para obter mais popularidade. Para entender esses artigos, você precisa de uma quantidade proporcional ao tempo gasto para escrevê-los. Você colocaria seu otimizador no kodobase, apenas como código e instruções de uso? Talvez ele seja notado por mais operadores.
Vejo que o critério de otimização personalizado ainda não apareceu e a altura no calendário..... Como o OnTester() é usado obrigatoriamente, poderíamos usar apenas o critério personalizado. E, mais uma vez, gostaria de refletir sobre a automação da entrada de períodos de teste. Minha prática mostra que é melhor executar a otimização do teste avançado em períodos de 3 a 5 semanas em vários instrumentos. Escrever manualmente todos os períodos de cada peça não é para os fracos de coração. Não é difícil criar um script usando as ferramentas MQL5 para receber e gerar períodos, mas, devido às limitações de sandbox e formato, você terá que transferi-los manualmente para o Auto-Optimiser. Você pode fazer isso na funcionalidade do programa. Talvez você não precise disso pessoalmente, mas para quem você tem escrito artigos tão grandes e complexos?
A operação confiável é a vantagem do Auto Optimiser em relação ao seu conhecido análogo, enquanto a complexidade de sua configuração é uma desvantagem. Mas você tem um manual para aqueles que o encontrarem.
Obrigado por seu comentário. Como escrevi na conclusão do artigo, adicionarei todos os acréscimos do último artigo. Esse é um dos planejados anteriormente. Tentei descrever em todos os artigos publicados todo o programa, desde a parte que faz o upload dos relatórios até a estrutura interna do próprio otimizador automático. Lembro-me das edições prometidas e já estou trabalhando nelas. No entanto, eu as publicarei no próximo artigo, pois primeiro tive que concluir a descrição da primeira versão do programa. Como me lembro, um professor da universidade costumava nos dizer: "Uma empresa de fabricação de automóveis não troca o sistema de freios por um novo na versão já produzida dos carros".
Com relação ao código, ele está anexado ao artigo e você pode alterá-lo, desmontá-lo e modernizá-lo, se precisar (farei as edições prometidas e, se precisar de algo mais individual, você pode adicioná-lo como uma opção ou simplesmente elaborá-lo, se estiver interessado), por isso escrevo com tantos detalhes para que haja uma imagem de como tudo funciona. Acrescentarei a divisão automática de períodos.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Otimização Walk Forward Contínua (Parte 7): Vinculação da parte lógica do Otimizador Automático com a parte gráfica e o controle do mesmo no programa foi publicado:
Este artigo descreve a vinculação da parte gráfica do programa do otimizador automático com a sua parte lógica. Ele considera o processo de inicialização da otimização, pelo clique de um botão até o redirecionamento da tarefa ao gerenciador de otimização.
Como já mencionado anteriormente, a ViewModel é o conector entre a parte gráfica do aplicativo e a implementação de software da parte lógica. É a representação gráfica do programa, que implementa as chamadas lógicas do aplicativo e as reações gráficas aos callbacks (retornos de chamada) da parte lógica do aplicativo. Assim, uma propriedade pública da parte da ViewModel corresponde a cada campo editável na parte gráfica do aplicativo. Essas propriedades podem ser os getters, que não podem ser alterados nos gráficos, ou os setters, que permitem sobrescrever o objeto oculto por trás dessa propriedade. Nas partes anteriores, nós já consideramos em detalhes a tecnologia de vinculação de dados. Portanto, fornecerei apenas alguns exemplos aqui.
Os campos de texto são conectados por meio de propriedades que têm acesso de gravação e leitura. Como exemplo, considere um campo que indica o nome de um ativo no qual a otimização será realizada. A marcação XAML para este campo é extremamente simples.
Além de definir a largura da janela de texto, ele também possui os campos IsEnabled e Text. O primeiro define se o campo está disponível para edição. Se for definido como verdadeiro, o campo ficará disponível para edição. Se for falso, o campo estará bloqueado. O campo "Text" contém o texto inserido neste campo. Em seguida, há uma construção entre chaves para cada uma delas. Seu conteúdo define a conexão do objeto com uma determinada propriedade pública da classe ViewModel especificada após o parâmetro "Binding".
Autor: Andrey Azatskiy