Discussão do artigo "Força bruta para encontrar padrões (Parte III): novos horizontes" - página 4

 
Rorschach:

Você não precisa ler todo o tópico, o ponto principal está nessa postagem. Força bruta completamente aleatória. Uma variante "otimiza" o sid pgsch, outra variante muda o sinal em N barras, N é selecionado pelo otimizador. Como você não fez isso, tentarei transferir para o opencl, pois o mt não permite testá-lo normalmente.

Não entendo mais o "sid pgcch", para mim é como "avada kedabra". É por isso que eu digo para explicar a essência do método. Completamente
qualquer força bruta é aleatória, por isso é força bruta, porque são gerados números aleatórios. Se algo for detectado por um otimizador, isso não é força bruta, mas uma zombaria do hardware, porque em um software de terceiros isso acontece centenas e milhares de vezes mais rápido. Em princípio, o otimizador não foi projetado para esses fins. Essa é a razão pela qual todos tentam criar software de terceiros. Por que você precisa torturar seus gráficos, tudo conta normalmente nos processadores. Escreva em uma mensagem privada, normalmente sem abreviações criadas por você mesmo e detalhadamente o que você faz e por que eu pensarei e direi o que penso sobre isso se realmente precisar de conselhos.
 
Acho que comecei a entender o que você tem. Deveria ser escrito assim: Há um sistema de condições ou fórmula no qual uma matriz ou conjunto de números se enquadra, no qual os módulos dos números permanecem inalterados, mas os sinais desses números são constantemente invertidos. No seu caso, você precisa encontrar a melhor maneira de gerar sinais, ou seja, você precisa de uma função que gere uma matriz ou um array com números "1", "-1". As matrizes (vetores) são multiplicadas elemento por elemento (não pela regra de multiplicação de matrizes), de modo que você obtém uma nova matriz com sinais alterados de seus elementos. Nesse caso, a geração de números aleatórios será mais eficaz, pois a variabilidade desse método é máxima. Ao se vincular ao número de barras, você limita seu sistema (ou seja, quase 100% de que algumas combinações úteis serão descartadas). E a frequência de busca dessas combinações deve ser máxima, portanto, é simplesmente contraindicado fazer isso em MQL.
 
Evgeniy Ilin:
Acho que comecei a entender o que você tem. Deveria ser escrito assim: Há um sistema de condições ou fórmula no qual uma matriz ou conjunto de números se enquadra, no qual os módulos dos números permanecem inalterados, mas os sinais desses números são constantemente invertidos. No seu caso, você precisa encontrar a melhor maneira de gerar sinais, ou seja, você precisa de uma função que gere uma matriz ou um array com números "1", "-1". As matrizes (vetores) são multiplicadas elemento por elemento (não pela regra de multiplicação de matrizes), de modo que você obtém uma nova matriz com sinais alterados de seus elementos. Nesse caso, a geração de números aleatórios será mais eficaz, pois a variabilidade desse método é máxima. Ao se vincular ao número de barras, você limita seu sistema (ou seja, quase 100% de que algumas combinações úteis serão descartadas). E a frequência de busca dessas combinações deve ser máxima, portanto, é simplesmente contraindicado fazer isso em MQL.

Aproximadamente assim. Até certo ponto, isso é uma decomposição em bases, onde as bases podem ser qualquer coisa: senoides, números aleatórios, etc. etc.

 
Rorschach:

É mais ou menos assim. Até certo ponto, é uma decomposição em bases, onde as bases podem ser qualquer coisa: senoides, números aleatórios, etc., etc.

Também é importante como ele é calculado. Eu tenho apenas uma fórmula. Se der um sinal de mais, então compre, se der um sinal de menos, então venda, mas o módulo do número também é levado em conta. Cada barra é calculada! Estou procurando uma fórmula em que, idealmente, a amplificação do número de saída forneça a amplificação do sinal de compra ou venda. Em versões alternativas, haverá um conjunto de funções que, por fim, se transformará em uma expressão lógica composta complexa, cujo resultado será "verdadeiro" ou "falso". Não há como ajustar o sinal em si... Vou lhe dizer algo mais em sigilo. Em essência, todas essas ações são equivalentes à compactação de dados como em um arquivo. Quanto menos condições e mais simples elas forem, e quanto mais ordens elas derem no intervalo selecionado e quanto maior for seu fator de lucro e outros parâmetros, mais próximo nosso algoritmo estará da fórmula do mercado. Ao mesmo tempo, é melhor não fazer isso com amostras pequenas. É por isso que eu sempre digo para pegar uma amostra de pelo menos 10 anos, ou melhor, todo o histórico de uma só vez, porque treinamos novamente em uma seção e, então, descobrimos que acabamos de pegar um estrato no qual uma grande meia onda está subindo nessa seção e, em seguida, tudo se vira com segurança e voa para baixo com a mesma intensidade. Com árvores e redes arbitrárias de tamanho flutuante, pode haver um problema como o que escrevi acima. A citação pode ser simplesmente transformada em outro tipo de dados, que é compreensível apenas para uma árvore, ou em um mapa de rede e algumas matrizes e números adicionais. Vamos para a frente e lá está wild....

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
  • www.mql5.com
Тип bool - Целые типы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Evgeniy Ilin:

Também é importante como ele é calculado. Eu tenho uma fórmula. Se der um sinal de mais, então compre, se der um sinal de menos, então venda, mas o módulo do número também é levado em consideração. Cada barra é calculada! Estamos procurando uma fórmula em que, idealmente, a amplificação do número de saída dê a amplificação do sinal de compra ou venda. Em versões alternativas, haverá um conjunto de funções que, por fim, se transformará em uma expressão lógica composta complexa, cujo resultado será "verdadeiro" ou "falso". Não há como ajustar o sinal em si... Vou lhe dizer algo mais em sigilo. Em essência, todas essas ações são equivalentes à compactação de dados como em um arquivo. Quanto menos condições e mais simples elas forem, e quanto mais ordens elas derem no intervalo selecionado e quanto maior for seu fator de lucro e outros parâmetros, mais próximo nosso algoritmo estará da fórmula do mercado. Ao mesmo tempo, é melhor não fazer isso com amostras pequenas. É por isso que eu sempre digo para pegar uma amostra de pelo menos 10 anos, ou melhor, todo o histórico de uma só vez, porque treinamos novamente em uma seção e, então, descobrimos que acabamos de pegar um estrato no qual uma grande meia onda está subindo nessa seção e, em seguida, tudo se vira com segurança e voa para baixo com a mesma intensidade. Com árvores e redes arbitrárias de tamanho flutuante, pode haver um problema como o que escrevi acima. Uma citação pode simplesmente ser transformada em outro tipo de dados, que somente uma árvore pode entender, ou em um mapa de rede e algumas matrizes e números adicionais. Vamos para a frente e lá está wild....

Quanto menos graus de liberdade, menor a probabilidade de otimização excessiva. Precisamos verificar isso como nas redes neurais. Devemos pegar três amostras, treinar uma delas, contar as métricas da segunda após o treinamento da primeira e tirar as conclusões finais após o treinamento da terceira.

 
Rorschach:

Quanto menos graus de liberdade, menor a probabilidade de otimização excessiva. É necessário verificar como nas redes neurais. Pegue três amostras, treine uma, calcule as métricas da segunda amostra após o treinamento da primeira e tire as conclusões finais após o treinamento da terceira amostra.

Boa ideia, mas acaba sendo um autoengano. Pegamos 50% da amostra, digamos, para força bruta, depois 25% para verificar as métricas ou o que você quiser verificar ))) . Na terceira verificação final do site, mas é a mesma coisa que pegar o site inteiro do início ao fim. Não exatamente, mas é basicamente isso que ele faz. Não há melhor maneira de obter uma amostra maior. E ninguém jamais encontrará uma maneira melhor.

 
Rorschach:

Quanto menos graus de liberdade, menor a probabilidade de otimização excessiva. É necessário verificar como nas redes neurais. Pegue três amostras, treine uma, calcule as métricas da segunda amostra após o treinamento da primeira e tire as conclusões finais após o treinamento da terceira amostra.

Quanto mais variáveis livres, melhor será "pregar a história" :-)

Veja o elefante https://ru.wikipedia.org/wiki/Слон_фон_Неймана

 
Maxim Kuznetsov:

Quanto mais variáveis livres, melhor será o "acerto da história" :-)

veja sobre o elefante https://ru.wikipedia.org/wiki/Слон_фон_Неймана

A propósito, era isso que eu ia dizer aproximadamente, mas você o fez melhor)

 
Mas onde está o programa para a busca de patronos que não se encontram?
 
Miguel Angel Diaz Oviedo:
Mas onde está o programa para a busca de patrones que não se encontram?

O programa será, portanto, somente após o quarto artigo, se está preparando o artigo. O produto também será preparado. É no produto que o programa estará disponível como software adicional. A versão atual é desatualizada depois de muito tempo. Nesse momento, o programa foi muito melhorado. O que vou mostrar no artigo