Discussão do artigo "Desenvolvendo um EA multimoeda (Parte 25): Conectando uma nova estratégia (II)"

 

Novo artigo Desenvolvendo um EA multimoeda (Parte 25): Conectando uma nova estratégia (II) foi publicado:

Neste artigo, continuaremos a conectar uma nova estratégia ao sistema de otimização automática já criado. Vamos ver quais mudanças devem ser feitas no EA responsável pela criação do projeto de otimização e nos EAs das segunda e terceira etapas.

Seguiremos com a próxima etapa do trabalho, iniciada no artigo anterior. Para relembrar, após dividir todo o código do projeto em uma parte de biblioteca e uma parte de projeto, decidimos verificar como seria a transição da estratégia de negociação modelo SimpleVolumes , utilizada por muito tempo, para outra estratégia qualquer. O que seria necessário fazer para isso? Seria fácil? Naturalmente, foi preciso escrever a classe da nova estratégia de negociação. Mas, surgiram dificuldades que não eram tão óbvias no início.

Essas dificuldades estavam diretamente ligadas ao nosso esforço de manter a biblioteca independente do projeto. Se tivéssemos decidido descumprir essa nova regra, as dificuldades nem teriam surgido. No entanto, encontramos uma forma de manter a separação do código e, ainda assim, permitir a conexão de uma nova estratégia de negociação. Isso exigiu mudanças nos arquivos da parte da biblioteca do projeto, não muito grandes em volume, mas significativas em conceito.

No fim, conseguimos compilar e executar a otimização do EA da primeira etapa com a nova estratégia, que chamamos de SimpleCandles. Os próximos passos planejados consistiam em fazer o pipeline de otimização automática funcionar com ela. Para a estratégia anterior, havíamos desenvolvido um EA auxiliar chamado CreateProject.mq5, que permitia formar tarefas no banco de dados de otimização para execução no pipeline. Nos parâmetros do EA era possível indicar em quais instrumentos (símbolos) e timeframes queríamos executar a otimização, quais os nomes dos EAs das etapas, entre outras informações necessárias. Se o banco de dados de otimização ainda não existisse, ele era criado automaticamente.


Autor: Yuriy Bykov

 

Olá @Yuriy

Obrigado pelo excelente artigo. O que acontece quando sua máquina é reiniciada inesperadamente? Tudo bem, ele retomou a otimização, mas estou recebendo esse erro e ele parou:


GBPUSD,H1: teste de Experts\Article.17328\Stage3.ex5 de 2022.09.01 00:00 a 2023.01.01 00:00 iniciado com entradas:

idTask_=52

fileName_=article.17328.db.sqlite
=

passes_=

=

groupName_=SimpleCandles_v.1.00_2023.01.01

advFileName_=SimpleCandles-27183.test.db.sqlite

SELECT DISTINCT FIRST_VALUE(p.params) OVER (PARTITION BY p.id_task ORDER BY custom_ontester DESC) AS params FROM passes p WHERE p.id_task IN ( SELECT pt.id_task FROM tasks t JOIN jobs j ON j.id_job = t.id_job JOIN stages s ON s.id_stage = j.id_stage JOIN jobs pj ON pj.id_stage = s.id_parent_stage JOIN tasks pt ON pt.i

O testador parou porque OnInit retorna um código diferente de zero 1

conexão encerrada

Algum conselho?

 

Olá @filippa.barbosa

Peço desculpas pela demora em responder.

Parece que é aquele bug indescritível novamente que nós pensávamos ter sido corrigido. Ao testar o código doúltimoartigo , ele não foi maisencontrado . Infelizmente, o que não pode ser reproduzido não pode ser corrigido.

O motivodessamensagem é provavelmente que não uma única passagem completa foi formada no segundoestágio . Você pode tentar manualmente reiniciar o segundo e terceiroestágios . Para fazer isso, abra obanco de dados deotimização no editor e substitua o status "Done" (Concluído ) por "Queued" (Em fila) natabela deestágios para osregistros dessesestágios . Após isso, execute o Expert AdvisorOptimisation.ex5 nográfico.

 
'ReadFile' - nenhuma das sobrecargas pode ser aplicada à chamada de função MTTester.mqh 1286 22
durante a compilação do Optimisation.mq5 e de outros arquivos. Por favor, corrija-o usando o terminal v 5.00 build 5142
 

Olá, dave365

Você precisa substituir esse arquivo pela versão mais recente da biblioteca do MultiTester. Isso será feito na próxima parte 28.

MultiTester
MultiTester
  • 2019.07.19
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.
 
Yuriy Bykov #:

Olá, dave365.

Você precisa substituir esse arquivo pela versão mais recente da biblioteca do MultiTester. Isso será feito na próxima parte 28.

Todos os comentários dos artigos são traduzidos automaticamente em cada ramo de idioma.

E também há um botão "Auto-translation" (Tradução automática) se o usuário quiser ler em inglês aqui.

 
Rashid Umarov #:
Escreva em russo na parte russa.

Rashid, eu o apoio totalmente! Você pode resolver esse problema (veja abaixo) ao mesmo tempo?

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Pergunta para a administração do site mql5.com

MrBrooklin, 2025.06.27 07:13 pm

Bom dia a todos!

Fui até a seção "Todas as mensagens" e há uma imagem assim lá:

Pergunta para a administração do site (ou para qualquer outra pessoa que esteja no tópico) - por que preciso que minhas mensagens estejam em todos os idiomas do mundo? Ou em algum lugar eu preciso desmarcar/marcar para manter apenas em russo? Isso não acontecia antes.

Saudações, Vladimir.


 

Obrigado, vamos cuidar disso.

Já resolvemos esse problema, mas ele parece estar incompleto.

 
Rashid Umarov #:

Escreva em russo na parte russa.

Sim, é claro. Serei mais cuidadoso - pelas últimas postagens no tópico, achei que a pergunta havia sido feita no tópico em inglês.

 
Rashid Umarov #:

Obrigado, vamos resolver isso.

Já resolvemos esse problema, mas ele parece estar incompleto.

Obrigado!

Atenciosamente, Vladimir.

 
Rashid Umarov #:

Obrigado, vamos resolver isso.

Já resolvemos esse problema, mas ele parece estar incompleto.

Decidimos deixá-lo como está.