Discussão do artigo "Experiências com redes neurais (Parte 3): Uso pratico" - página 4

 

Olá, Roman,

Acabei de ler seu último artigo minuciosamente. Não estou surpreso com os resultados do 443 DNN Angle; eles refletem os meus. Suspeito que o problema esteja no processamento da decisão de fechamento, embora eu não o tenha examinado em profundidade. Examinarei seus novos EAs em detalhes em breve.

Enquanto isso, aqui está meu reformatador de CSV completo com o Winfile associado para você. Talvez você possa usar esses conceitos para automatizar parte do seu EA, permitindo que você leia os valores de peso diretamente, sem executar o processo de inserção de arquivo. Ele foi projetado para ler a versão CSV salva de um Relatório de otimização e, ao mesmo tempo, remover passagens que tenham baixa frequência de negociações ou que produzam resultados perdedores. O arquivo CSV reformatado será lido diretamente no meu EA para definir os pesos DNN ou para selecionar os valores mais eficazes em um teste de otimização.

É importante lembrar que o arquivo Excel da execução de otimização deve reformatar as colunas Equity e Profit para NÚMEROS sem um separador de vírgula 1000 antes de executar o reformatador Path e que os nomes de arquivos que contêm espaços DEVEM ser colocados entre aspas duplas triplas, """, e não apenas entre aspas simples para passar os espaços corretamente para o Windows.

Espero que isso ajude,

Obrigado

 
CapeCoddah #:

Oi Roman,

Acabei de ler seu último artigo minuciosamente. Não estou surpreso com os resultados do 443 DNN Angle; eles refletem os meus. Suspeito que o problema esteja no processamento da decisão de fechamento, embora eu não o tenha examinado em profundidade. Em breve, examinarei detalhadamente seus novos EAs.

Enquanto isso, aqui está meu reformatador de CSV completo com o Winfile associado para você. Talvez você possa usar esses conceitos para automatizar parte do seu EA, permitindo que você leia os valores de peso diretamente, sem executar o processo de inserção de arquivo. Ele foi projetado para ler a versão CSV salva de um Relatório de otimização e, ao mesmo tempo, remover passagens que tenham baixa frequência de negociações ou que produzam resultados perdedores. O arquivo CSV reformatado será lido diretamente no meu EA para definir os pesos DNN ou para selecionar os valores mais eficazes em um teste de otimização.

É importante lembrar que o arquivo Excel da execução da otimização deve reformatar as colunas Equity e Profit para NÚMEROS sem um separador de vírgula 1000 antes de executar o Path do reformatador e que os nomes de arquivos que contêm espaços DEVEM ser colocados entre aspas duplas triplas, """, e não apenas entre aspas simples para passar os espaços corretamente para o Windows.

Espero que isso ajude,

Obrigado

Muito obrigado. Com certeza vou dar uma olhada.

 

Roman,

Estou apenas começando a avaliar seu trabalho atual em detalhes. Aqui está um gráfico de comparações que fiz.

Período de tempo DNN original 1 - 1N SL 1-1SL 2-2 Sem SL 2-2 SL 3-3No SL 3-3SL 2-2 Sem SL 2-2 SL
Otimizado de 1/1/21 - 1/1/23 12/9/21 - 12/9/22 1/1/23 - 3/10/23 12/9/21 - 12/9/22 1/1/23 - 3/10/23
h1 -1070 2762 7700 3870 -874 4320 638 -627
H1 TP modificado para 120: 5381 39%
h4 2,735 1394.00 237.00 -992 -1120 -993


Isso demonstra claramente que 8 Preceptron EAs são muito superiores a um modelo original de 4443 NDD. Ao executar esses testes, notei um pequeno descuido na guia BackTest do MQ5. Ele mostra resultados em milhares com um espaço entre o terceiro e o quarto dígitos, o que foi uma tentativa de eliminar as vírgulas. No entanto, o espaço me induziu a pensar que era o número de negociações.

Estou interessado em modificar os Preceptrons para incluir menos ou mais de 8 nós. Você pode explicar o esquema usado para gerar Preceptrons de 5, 6, 7, 9 etc.? Como alternativa, você pode citar alguma referência que explique sua estrutura?Ao analisar seus dois Preceptron EAs, parece que criar um conjunto de classes de Preceptron e parametrizar a entrada pode ser vantajoso. Assim, você poderia instanciar várias versões de nós idênticos para serem usados para finalidades diferentes. Acho que tentarei essa abordagem, embora tenha certeza de que será mais lenta do que seu código.

Fique em segurança,

CapeCoddah

 
CapeCoddah BackTest do MQ5. Ele mostra resultados em milhares com um espaço entre o terceiro e o quarto dígitos, o que foi uma tentativa de eliminar as vírgulas. No entanto, o espaço me induziu a pensar que era o número de negociações.

Estou interessado em modificar os Preceptrons para incluir menos ou mais de 8 nós. Você pode explicar o esquema usado para gerar Preceptrons de 5, 6, 7, 9 etc.? Como alternativa, você pode citar alguma referência que explique sua estrutura?Ao analisar seus dois Preceptron EAs, parece que criar um conjunto de classes de Preceptron e parametrizar a entrada pode ser vantajoso. Assim, você poderia instanciar várias versões de nós idênticos para serem usados para finalidades diferentes. Acho que tentarei essa abordagem, embora tenha certeza de que será mais lenta do que seu código.

Fique seguro,

CapeCoddah

Olá. Envie-me uma mensagem privada. Agora estou recrutando uma equipe de desenvolvimento. Se você estiver pronto para trabalhar duro, participe. A participação é paga.

 
Roman Poshtar #:

Olá. Envie-me uma mensagem privada. Agora estou recrutando uma equipe de desenvolvimento. Se você estiver pronto para trabalhar duro, participe. A participação é paga.

Não estou realmente interessado, me aposentei há 20 anos e programar agora é um hobby de meio período. Obrigado pela oferta e não sei como enviar uma mensagem privada.

 
CapeCoddah #:

Não estou realmente interessado, me aposentei há 20 anos e a programação agora é um hobby de meio período. Obrigado pela oferta e não sei como enviar uma mensagem privada.

Por favor, se você mudar de ideia, será bem-vindo.

 

Olá, Roman,

Ao executar o Visualize no testador, estou percebendo alguns problemas significativos no processamento de ordens que estão causando grandes perdas, principalmente por volta de 2022 07/05, quando há uma perda de US$ 1.350, veja o anexo Bad Trades

Isso parece ser causado pela ordem 3534, que não tem TP e SL e está destacada em verde-claro. Em alguns casos, o destaque está na cor rosa , indicando que o preço identificado está fora da faixa de negociação. Os comentários a identificam como "tp104740" em vez de "Perceptron EN_xx" e o volume é ).62/0.62. Isso parece indicar que houve um processamento incompleto da configuração da ordem.

Esse problema se repete toda vez que a linha do Perceptron para o loop é reiniciada, for(int i=0; i<=(ArraySize(EURUSD)/6)-2; i++){. Testei uma versão diminuindo o limite superior em um e os erros persistem.
BTW você deve alterar o ArraySize para ArrayRange(EURUSD,0) e abandonar os cálculos.

O problema também se manifesta toda vez que o sinal muda de compra para venda ou vice-versa.

O problema pode ser causado por um problema de inicialização no início ou no final do loop ou é um problema de Netting e as funções de compra/venda devem ser movidas para fora do loop for?

Ao revisar todas as negociações com SL zero, notei que quase todas têm uma data/hora com segundos a menos que 00. Pensando que seu IsNewBar estava errado, substituí meu NewBar e obtive resultados idênticos. Consequentemente, parece que sempre que não houver atividade comercial no primeiro segundo de uma nova barra, o erro poderá ocorrer, o que não é um bom presságio para o uso desse conceito em outros pares de moedas que não são negociados com a mesma frequência do EURUSD.

Portanto, tenho muitos problemas em potencial, mas não tenho uma boa ideia de como proceder, pois estou no início da conversão do MT4 para o MT5 e não entendo muito bem os detalhes de processamento de ordens do MT5. Você pode identificar e corrigir o problema?

Obrigado, CapeCoddah

A propósito, seu conceito de usar 10 das primeiras 100 linhas do Perceptron da execução de otimização é brilhante e certamente aumenta a eficiência do EA.

Arquivos anexados:
Bad_Trades.png  84 kb
 
CapeCoddah cor rosa , indicando que o preço identificado está fora da faixa de negociação. Os comentários a identificam como "tp104740" em vez de "Perceptron EN_xx" e o volume é ).62/0.62. Isso parece indicar que houve um processamento incompleto da configuração da ordem.

Esse problema se repete toda vez que a linha do Perceptron para o loop é reiniciada, for(int i=0; i<=(ArraySize(EURUSD)/6)-2; i++){ . Testei uma versão diminuindo o limite superior em um e os erros persistem.
BTW você deve alterar o ArraySize para ArrayRange(EURUSD,0) e abandonar os cálculos.

O problema também se manifesta toda vez que o sinal muda de compra para venda ou vice-versa.

O problema pode ser causado por um problema de inicialização no início ou no final do loop ou é um problema de Netting e as funções de compra/venda devem ser movidas para fora do loop for?

Ao revisar todas as negociações com SL zero, notei que quase todas têm uma data/hora com segundos a menos que 00. Pensando que seu IsNewBar estava errado, substituí meu NewBar e obtive resultados idênticos. Consequentemente, parece que sempre que não houver atividade comercial no primeiro segundo de uma nova barra, o erro poderá ocorrer, o que não é um bom presságio para o uso desse conceito em outros pares de moedas que não são negociados com a mesma frequência do EURUSD.

Portanto, tenho muitos problemas em potencial, mas não tenho uma boa ideia de como proceder, pois estou no início da conversão do MT4 para o MT5 e não entendo muito bem os detalhes de processamento de ordens do MT5. Você pode identificar e corrigir o problema?

Obrigado CapeCoddah

A propósito, seu conceito de usar 10 das primeiras 100 linhas do Perceptron da execução de otimização é brilhante e certamente aumenta a eficiência do EA.

Obrigado pelo feedback. Envie-me um EA com um erro em mensagens privadas. Tentarei resolver o problema.

 

Romano,

Use o 1 Perceptron Angle SL TP Trade.EX5 que você lançou com este artigo.

Testador de estratégia: Visualize de 2021 12/09 a 2022 12/09 produzindo um lucro de back test de aproximadamente US$ 2747,02 (variou de 2747 a 2758). Selecione a guia Histórico no testador de estratégia e selecione Ordens e, em seguida, classifique de forma ascendente em S/L. Observe a ordem 991 para ver a luz alta rosa. Observe os horários dos carimbos de tempo e também os comentários.

Executei dois testes, um sem ordens de compra e outro sem ordens de venda. Ambos apresentaram o problema.


Aproveite

CapeCoddah

 
CapeCoddah Testador de estratégia: Visualize de 2021 12/09 a 2022 12/09 produzindo um lucro de back test de aproximadamente US$ 2747,02 (variou de 2747 a 2758). Selecione a guia Histórico no testador de estratégia e selecione Ordens e, em seguida, classifique de forma ascendente em S/L. Observe a ordem 991 para ver a luz alta rosa. Observe os horários dos carimbos de tempo e também os comentários.

Executei dois testes, um sem ordens de compra e o outro sem ordens de venda. Ambos apresentaram o problema.


Aproveite

CapeCoddah

Olá. Não encontrei nenhum problema. Veja a captura de tela. Qual é o seu corretor?

Arquivos anexados:
1.png  38 kb