Discussão do artigo "Desenvolvendo um EA Multimoeda (Parte 13): Automação da segunda etapa — Seleção de grupos" - 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
Yuri, boa tarde! Consegui executar a otimização do segundo estágio e ela foi aprovada. Mas durante a otimização, esses erros aparecem constantemente no registro:
E no final, como percebi, nada foi adicionado ao banco de dados.... A única coisa no banco de dados de tarefas mudou o status das tarefas do segundo estágio e o tempo de sua execução.
O que significa esse erro e onde procurar? Onde devem ser registradas as informações sobre os passes e se devem ser registradas? Se devem ser gravadas como passes ou no final de todo o estágio em uma única transação, todas no banco de dados?
Olá, Victor.
Não observei isso, portanto, é de fato um erro. A julgar por essa linha do registro:
Posso presumir que, em seu banco de dados principal, a tabela de passes foi substituída pela que deveria ter sido criada somente no segundo banco de dados. Ou seja, essa tabela agora tem 2 colunas em vez de 48.
Resolvi esse problema e executei a segunda etapa. As passagens na base principal foram adicionadas. Mas surgiu um novo problema... Agora com o terceiro Expert Advisor. Por algum motivo, ele não pega as passagens que você especifica na lista, mas pega as primeiras do início da tabela de passagens. E agora há uma suposição de que o EA do segundo estágio funcionou da mesma forma e toda a otimização está errada. Ainda não entendo como resolver isso.
De acordo com sua ideia, onde o banco de dados de tarefas deve ser criado, na pasta Common\Files ou na pasta MQL5\Files do terminal?
O terceiro Expert Advisor também foi resolvido e parece estar funcionando como deveria. Yuri, obrigado pelo Expert Advisor e por essa série de artigos.
PS: Eu notei esse momento, certamente não é um problema, mas ainda assim, - ao testar no modo visual no testador, o EA abre muitas ordens separadas, muitas vezes por 0,01 lote. Pelo que entendi, cada estratégia virtual abre suas próprias posições. Mas se você observar o esquema do terceiro artigo, então, de acordo com o último esquema, ele deve abrir uma posição em cada instrumento de negociação e apenas ajustar o volume dependendo do lote total e da direção de todas as posições virtuais abertas. É como trabalhar em uma conta de compensação. Talvez seja apenas uma falha no testador ou seja apenas a maneira como as posições são exibidas lá.... Yuri, é possível habilitar o EA para trabalhar na conta hage como se estivesse trabalhando em uma conta de compensação e ter apenas uma posição no mercado para cada instrumento de negociação?
Olá Yuri. Agora estou otimizando a segunda etapa e, no registro, ocasionalmente recebo um erro de ocupação do banco de dados:
O Expert Advisor é original, do artigo. Estou otimizando em agentes locais de um PC e na rede local em agentes de outro PC. Em geral, o processo está em andamento e as passagens para o banco de dados são preenchidas, mas eu gostaria de entender o que causa esse erro e como corrigi-lo?
Também acontece que algumas tarefas do segundo estágio terminam muito rapidamente. Por exemplo:
Aqui, por exemplo, o NZDCAD H1 M30 e o NZDCHF H1 terminaram literalmente em uma única passagem do otimizador, pelo que entendi. Embora haja muitas passagens do primeiro estágio para eles no banco de dados. Por que isso acontece e o que pode ser feito a respeito?
E o NZDCAD M15 apresentou um erro. Pelo que entendi, ele não encontra dados no banco de dados, mas como isso é possível? Afinal, no primeiro estágio de otimização desses pares, os passes deveriam estar no banco de dados....
Yuri, é possível fazer isso, por exemplo: realizei o primeiro e o segundo estágio e salvei tudo em um banco de dados. E é possível então (após a segunda etapa) alterar, no banco de dados, o status das tarefas da primeira etapa para os pares e tf nos quais a segunda etapa deu resultados ruins, de modo que, para esses pares e tf, como se estivessem no topo da segunda etapa, sejam adicionados passes da primeira etapa e, em seguida, eles executem novamente a segunda etapa? Simplesmente com essa ação, a identificação dos novos passes do primeiro estágio será maior do que a identificação dos passes do segundo estágio para todos os outros pares nessa base. Refiro-me aos passes da tabela. É possível fazer isso, e o otimizador encontrará passagens do primeiro estágio para esses pares e assim por diante?
Um banco de dados está aberto e bloqueado em algum lugar. Também pode ser um aplicativo externo em relação ao testador, por exemplo, o MetaEditor. Não me lembro de ter encontrado nada parecido com isso.
Isso indica que os passes do primeiro estágio do NZDCAD M15 não foram encontrados por algum motivo.
Sim, você pode fazer isso quantas vezes quiser. Se quiser que os passes antigos dos primeiros estágios anteriores não permaneçam, você pode excluí-los da tabela de passes pelo id_task necessário.