Discussão do artigo "Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa" - 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
Com relação ao erro de que não há dados para criar, você tem certeza de que incluiu o carregamento automático e a geração de relatórios no EA? Há duas opções aqui: ou você não incluiu no código do EA a funcionalidade de descarregamento automático e geração de relatórios, ou os resultados de negociação do EA não passaram pelos filtros de otimização definidos por você.
No meu entendimento, eu conectei o descarregamento e adicionei linhas ao Expert Advisor:
E tudo funcionou de acordo com os parâmetros. A otimização foi visualizada no testador e o Expert Advisor gravou os resultados em seu arquivo. Mas apenas pelo histórico. A passagem para frente não foi registrada. Não havia nada na janela de resultados do otimizador.No meu entendimento, eu conectei o descarregamento, adicionei strings ao EA:
E tudo funcionou de acordo com os parâmetros. A otimização foi visualizada no testador e o Expert Advisor gravou os resultados em seu arquivo. Mas apenas pelo histórico. A passagem para frente não foi registrada. Não havia nada na janela de resultados do otimizador.Se você usou "CUSTOM_ON_TICK", precisará adicionar o seguinte código ao seu método OnTick (logo no início):
Renomeie OnTick para MyOnTick ou outra coisa e, em OnInit, escreva a conexão :
Você entendeu errado. Você é o único com o tempo de otimização das 12:00 às 12:00. E eu não encontrei onde alterar isso.
Por causa disso, perdemos 12 horas do primeiro dia do histórico e somos otimizados por 12 horas para o período futuro. Por esse motivo, o período avançado é movido um dia para frente, porque esse dia é ocupado pelo histórico.
Como há sete dias em uma semana, o período de otimização deve ser dividido em sete dias. O período do histórico termina na segunda-feira 0-00 e o período futuro começa na segunda-feira 0-00. Acontece que na segunda-feira não testamos, mas fazemos um avanço. Não há máquina do tempo.
A hora é exibida em formato estrangeiro (MM.DD.AAAA HH:MM), mas é definida em nosso formato (DD.MM.AAAA).
Onde a hora não é 12:00 pm = 00:00.
E como especificamos o tempo Po igual a DD.MM.AAAA 00:00:00, se especificarmos o mesmo tempo, o testador não entenderá que precisamos testar a partir da próxima data; em vez disso, ele iniciará o teste a partir da mesma data e obteremos a mesma máquina do tempo. É por isso que estamos retrocedendo um dia. No entanto, você pode reescrever a lógica da definição da hora, basta modificar o método"public void Calculate(DateTime From, DateTime Till, uint history, uint forward)" que está localizado na classe "AutoFrame". O método " AutoFillInDateBordersM", que está localizado na classe " AutoFillInDateBordersM". Essa classe é descrita no arquivo que pode ser encontrado no caminho "MetaTrader-Auto-Optimiser/Metatrader Auto Optimiser/Model/AutoFillInDateBordersM.cs".
É assim que ela é implementada na versão atual:Olá, os artigos de sua série foram muito úteis, não sou bom em c #, então estou tentando aprender com suas lições
Fiz o download dos arquivos anexados da Parte 4 a 7, mas não consigo criar o projeto "Metatrade Auto Optimiser". Recebi um erro como o da figura:
Arquivos anexadosda Parte 8 Essa é a primeira vez que vejo a interfacedo seu programa, ele conseguiu iniciar o mt5 quando o modo de otimização estava desabilitado e, quando o liguei, como nesta imagem, recebi o erro
Por favor, ajude-me a corrigi-lo. Obrigado
Use o último passado, pois ele contém todos os arquivos e links necessários.
Você precisa adicionar opções de upload em seu especialista. Para fazer isso, use o arquivo "/Data/MQL5/Experts/Test Expert/New uploading variant/SimpleMA.mq5" como exemplo ou compile-o e use-o nos testes.
Se você usou "CUSTOM_ON_TICK", precisará adicionar o seguinte código ao seu método OnTick (bem no início):
Desculpe-me por ser obtuso; você poderia ter eliminado o 'OnTick()' padrão?
A hora é exibida em formato estrangeiro
Claro, tentarei reescrevê-lo. O problema não era o formato da hora, mas o fato de que o período de avanço estava mais à direita do que deveria. Talvez meu terminal esteja configurado para o formato de 24 horas e isso cause o erro.
Perdoe-me por ser obtuso; foi possível usar o padrão 'OnTick()'?
Tudo pode ser personalizado lá. Estude o arquivo "History manager/AutoUpLoader2.mqh" + um exemplo com o novo formato de upload de dados e tudo ficará mais claro.
Se a definição "CUSTOM_ON_TICK" estiver descrita na sua mensagem , isso significa que você está dizendo que o OnTick é padrão, mas também significa que você precisa tomar cuidado para que a cadeia de código
no início do método OnTick.
Olá,
Muito obrigado por esse projeto. Tenho certeza de que ele será muito útil.
Acabei de começar a usá-lo e estou enfrentando um problema com a seleção da moeda no "Metatrader Auto Optmiser .exe". É possível usar outra moeda em vez da padrão?
Não há uma opção para escrever uma nova moeda além das opções disponíveis (RUR, USD, EUR, GPB, CHF).
Muito obrigado.
Olá,
Muito obrigado por esse projeto. Tenho certeza de que ele será muito útil.
Acabei de começar a usá-lo e estou enfrentando um problema com a seleção da moeda no "Metatrader Auto Optmiser .exe". É possível usar outra moeda em vez da padrão?
Não há uma opção para escrever uma nova moeda além das opções disponíveis (RUR, USD, EUR, GPB, CHF).
Muito obrigado.
Hi.
Você precisa editar o código do otimizador automático e recompilá-lo.1. Abra o programa no Visual Studio.
2. Abra o arquivo "AutoOptimiserVM.cs"
3. Na linha #41 - o código a seguir é responsável pela coleção de moedas. Edite-o:
new OptimiserSetting( " Currency", new []{ " RUR", " USD", "EUR", "GBP", " CHF"}),
4. Recompile o programa e você verá sua moeda na caixa de combinação.