O que alimentar a entrada da rede neural? Suas ideias... - página 11

 

Tick = Transação = (Tempo, Preço, Volume)

O volume confirma que o preço não vem do teto. NÃO há volume no Forex, portanto o preço é "informativo" (desenhado). É por isso que nada funciona... abaixo do H4, com certeza - a volatilidade repentina é alta.

Nos mercados de ações, é o volume que explica a volatilidade.

 
Cometi um erro ao testar, no script de exportação especifiquei para exportar apenas um dado, mas no Expert Advisor esqueci de duplicar esta regra para entrada, como resultado - no gráfico do testador há um jargão lógico, mas....

se você aumentar o limite (filtro) das transações, poderá obter lucro no back and forward. escolhi aleatoriamente 2 meses de forwards, o primeiro - novembro de 2021, o segundo - julho de 2022. Treinado antes de cada um, repeti as ações "errôneas". Os primeiros conjuntos da lista otimizada dão um resultado positivo não apenas para esses meses, mas também não se esgotam (permanecem estáveis) até o final de 2022. Em geral, essas linhas, essa abordagem sem remorso e o escárnio absoluto das redes neurais e do bom senso causam dor aos profissionaisdaqui, não se irritem. E continuamos. Experimentando por mais alguns meses.
 
Ivan Butko #:
Cometi um erro ao testar, no script de exportação especifiquei para exportar apenas um dado, mas no Expert Advisor esqueci de duplicar esta regra para entrada, como resultado - no gráfico do testador há um jargão lógico, mas....

se você aumentar o limite (filtro) das transações, poderá obter lucro no back and forward. escolhi aleatoriamente 2 meses de forwards, o primeiro - novembro de 2021, o segundo - julho de 2022. Treinado antes de cada um, repeti as ações "errôneas". Os primeiros conjuntos da lista otimizada dão um resultado positivo não apenas para esses meses, mas também não se esgotam (permanecem estáveis) até o final de 2022. Em geral, essas linhas, essa abordagem sem remorso e o escárnio absoluto das redes neurais e do bom senso causam dor aos profissionaisdaqui, não se irritem. E continuamos. Vou tentar fazer isso por mais alguns meses.

Podemos continuar fazendo isso várias vezes. Em teoria, há um valor que é ideal para os próximos dois anos.

 
Maxim Kuznetsov #:

você ainda pode passar pela semente. Em teoria, há um valor ideal para os próximos dois anos

Por favor, esclareça o que significa. Encontrei a palavra seed no script do perceptron no artigo brasileiro sobre perceptron de múltiplas camadas, onde significa uma função de um número aleatório.

void seed(int seed=-1)

  {

   if(seed!=-1)

      _RandomSeed=seed;

  }  

 
Não gosto de prever N passos à frente, mas às vezes acontece. Você pode distorcê-la nessa direção. Abaixo, à esquerda, há uma previsão, à direita, um fato.

 
Ivan Butko #:
Não gosto de prever N passos à frente, mas às vezes acontece. Você pode distorcê-la nessa direção.

Abaixo, à esquerda, está uma previsão, à direita, um fato.
O mais provável é que "às vezes" = 50%. Mas dê uma olhada, pode ser sua mina de ouro.
 




Tentei inserir a diferença entre Close[1] e o extremo a cada N*2 horas de candles (24, 48, 96, 192, 384, 768, 1536, 3072). Ou seja, o extremo de hoje, ........ por meio ano. Treinamento - um ano.





De 2021 a 2022. Adiante, de 2022 até hoje. Há 16 valores no total. O resultado é interessante porque o gráfico de equilíbrio tentou subir pela primeira vez no adiantamento. Antes disso, ele conseguia se manter por alguns meses, no máximo, mas ainda caía na distância. Programa Neuro Pro










Ao mesmo tempo, não alimentei a rede com um valor que corresponderia à entrada anterior na amostra anterior
(Close[1]- Close[2]), ou seja, não há valores reais entre os preditores. Embora o gráfico seja terrível, ele pelo menos dá motivos para acreditar que trabalhar com extremos pode produzir alguns resultados se for feito corretamente. UPD Alexey, que ajudou a executar a rede neural a partir da documentação: nenhum resultado até agora, um quadro caótico. Ou ela não foi projetada para preços ou precisa ser refinada e preparada de alguma forma diferente

 

A entrada neurônica precisa ser alimentada

Desculpe-me

 
Ponto interessante: o algoritmo genético no testador de estratégia geralmente é projetado para encontrar negociações lucrativas. Dessa forma, ele procura valores nos quais a negociação para o período selecionado será melhor.

As negociações são melhores. Tentei definir a tarefa de uma maneira diferente: abrir qualquer negociação quando a saída da rede neural for igual ao próximo preço +/- n pontos e fechá-la imediatamente. Apenas dois preços de fechamento anteriores devem ser usados como entrada. Os parâmetros otimizados são os pesos. Mas não há uma rede neural no sentido usual - apenas multiplicamos os pesos para esses dois inputs. O resultado da adição de valores positivos e negativos dá uma "oscilação" do número de saída na vizinhança do próximo preço.

E quanto menos definirmos o parâmetro n, mais próximo o resultado corresponderá ao próximo preço +/- n. Como resultado, o número de negociações começou a aumentar no processo.



Ou seja, o testador usual com possibilidades limitadas no número de parâmetros otimizados começou a "seguir o preço" cada vez mais perto dele. Então, para que serve tudo isso: esperamos o fim da otimização, escolhemos o conjunto com o maior número de negociações e definimos outra condição: quando a previsão se afasta por "muitos" pontos - abrimos uma negociação nessa direção. É apenas uma observação, teremos que tentar testá-la mais.
 
Há alguns meses, tentei uma abordagem diferente:

Escolhi um ponto no gráfico em que havia uma tendência de queda de longo prazo. E do início ao fim.

Otimizo apenas as negociações de COMPRA
As negociações de VENDA são desativadas.

No final, seleciono o conjunto superior na categoria "Max Complex Solution" ou "Max Recovery Factor".

Começo o avanço com essa COMPRA - um ano e meio de crescimento estável. E, lindamente, subo um pouco o equilíbrio, como se, após uma entrada malsucedida, você entrasse novamente a um preço melhor.

A ideia é a seguinte: treinar em um neurônio (com uma passagem para trás) ou otimizar (em um testador) VENDER em um gráfico descendente ou COMPRAR em um gráfico ascendente é retreinar.

Essa posição é confirmada pelo treinamento no Eurodólar para 2020, após o qual, exatamente no ano novo, a tendência se inverte. E todos os principais conjuntos do otimizador ou modelos treinados do trush neuronka falham.

E se você treinar 2021, a grande maioria dos conjuntos ou modelos lidará com quase todo o ano de 2022 até que haja uma reversão da tendência de longo prazo em novembro ou em algum momento do outono.

// ---------

Sobre ideias de entrada:

A Trush Neuronics tentou marcar o gráfico da seguinte forma: olhamos para frente e, a partir do último preço de fechamento, contamos a amplitude máxima dos preços de fechamento subsequentes para cima e para baixo.

Qualquer que seja o lado que tenha ultrapassado 100 pips, a marcação é feita nessa direção (análogo do stop loss no lado oposto, que não funcionou).
Ou seja, fizemos um loop pelo forward e, se o 3º, 5º, 10º preço de fechamento for superior a 100 pips e esse preço for maior que o preço atual, todo o conjunto de variáveis de entrada para a entrada do neuronka será marcado como 1; se o oposto for verdadeiro, então -1.

Como dados de entrada, dei toda a amplitude possível de movimento de preço, de modo a não ignorar nenhum movimento (como no caso de dar apenas preços de fechamento, o que essencialmente perde algumas informações sobre o gráfico, ele se torna neutro) do seguinte tipo:

Primeira sombra - corpo - segunda sombra.
Assim, se o candle estiver subindo, a primeira sombra é um movimento descendente, seu tamanho será com o sinal "-".
Em seguida, converti todos os valores para o intervalo de -1,0 a 1,0.

Como resultado, com o MLP-neuron (NeuroPro) e a arquitetura 10-10-10, o forward tem viajado por 4-5 meses com uma linha de equilíbrio fina e crescente e, o mais importante, com uma alta frequência de transações.

Com o NeuroPro, obtive o melhor resultado pontual até agora. Em 99,9℅ casos, ele treina em excesso o máximo que pode.

// -----

Em paralelo, estou brincando com a neurônica no otimizador.

Escrevi uma rede neural convolucional (CNN) com pooling em linguagem procedural. Como se viu, é possível fazer isso sem ciclos com matrizes.

Como o otimizador é limitado pelo número de variáveis externas e pela etapa de alteração, temos que economizar dinheiro.

Agora a CNN-MLP foi criada, com 8 filtros, pooling com tamanho 2, depois disso há 4 saídas, que são passadas para uma camada MLP totalmente conectada de 4 neurônios com função de ativação sigmoidal (ou tangente, não me lembro).

Agora, quero adicionar o LSTM, uma tecnologia superdimensionada para esquecer ou armazenar o estado de cada camada. Pesquisei no Google - algumas coisas complicadas, mas com o mql5 é possível implementar métodos processuais.

Obteremos a arquitetura CNN-LSTM-MLP no algoritmo genético (otimizador).

Sei que qualquer rede neural com retropropagação de erros (aprendizado real) perde o sentido ao mudar para a seleção de pesos baseada em otimizador.
Mas, aqui estou apenas curioso para girar em minhas mãos