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

 
Maxim Dmitrievsky #:

Meu raciocínio é simples, depois de ter experimentado toda a ingrata tarefa de mexer com as coisas:

Existem estados de mercado, você pode obtê-los, por exemplo, por meio de clustering.

Se você pegar e conectar as cotações (retornos) de cada cluster separado, em alguns casos obterá quase uma série estacionária. Você já pode trabalhar com isso.

Além disso, é absolutamente indiferente o que alimentar a entrada do modelo (de preferência, preços brutos, para que não haja perda de informações).

Os algoritmos de MO funcionam perfeitamente bem, não há necessidade de se aprofundar neles. Você precisa procurar por regularidades estacionárias. Somente com base nelas, o MOSHka prevê o futuro de forma estável.

Vi os resultados de seu artigo sobre validação cruzada.

Evgeny Kostenko criou um Expert Advisor com uma previsão de trabalho de 10 anos com base nele. A única coisa é que se trata de uma construção de longo prazo, no sentido de que é um produto de investimento.







Outro nicho - pipsing e scalper - é ocupado pelo corretor, o spread mata o graal de alta frequência, que pode ser coletado em qualquer MLP, como a prática de testes sem comissão e sem spread demonstrou. E aqui está o "nosso" nicho "orçamentário" - intradiário e de médio prazo - não há solução nele.

Exceto por artefatos como arbitragem técnica e assim por diante. E é aqui que uma solução funcional deve ser implementada.

 
Ivan Butko #:

Vi os resultados de seu artigo sobre validação cruzada.

Evgeny Kostenko criou um Expert Advisor baseado nele com um prazo de trabalho de 10 anos. A única coisa é que se trata de uma construção de longo prazo, no sentido de que é um produto de investimento.







Outro nicho - pipsing e scalper - é ocupado pelo corretor, o spread mata o graal de alta frequência, que pode ser coletado em qualquer MLP, como a prática de testes sem comissão e sem spread demonstrou. E aqui está o "nosso" nicho "orçamentário" - intradiário e de médio prazo - não há solução.

Exceto por artefatos como arbitragem técnica e assim por diante. E é aqui que uma solução funcional deve ser implementada.

Até o momento, não consegui realizar muitos testes no macbook no TF M5 e abaixo dos ticks, pois ele é muito lento. Estou com muita preguiça de esperar. Talvez eu dê à luz algum dia mais tarde.

 
Mudanças de preço ou incrementos de preço em algum tipo de janela flutuante ou na barra atual - tipo de leitura ok.....
 
Roman Shiredchenko #:
O preço muda ou aumenta em algum tipo de janela flutuante ou na barra atual - tipo de leitura ok.....

Obrigado, tentei

 

Esse design também oferece, às vezes, bons resultados em um NS simples


Vantagens em potencial:

  • não sobrecarregamos o NS com muitas entradas
  • capturamos extremos importantes
  • mostramos a estrutura relativa do mercado (profundidade) para o NS.
Onde um número reflete a posição do preço em relação aos extremos opostos mais próximos, aproximadamente iguais em nível de onda.


    ENUM_TIMEFRAMES TF_CUR = PERIOD_CURRENT;  
    ENUM_TIMEFRAMES TF_H4 = PERIOD_H4;  
    ENUM_TIMEFRAMES TF_D1 = PERIOD_D1;  
 
    double H_cur = iHigh(NULL, TF_CUR, 1); 
    double L_cur = iLow (NULL, TF_CUR, 1); 
       
    double H_H4 = iHigh(NULL, TF_H4, 1); 
    double L_H4 = iLow (NULL, TF_H4, 1);
        
    double H_D1 = iHigh(NULL, TF_D1, 1); 
    double L_D1 = iLow (NULL, TF_D1, 1);  
      
    double C = iClose(NULL, TF_CUR, 1);
    
    double inputs[3];
    
    int i = 0;
    
    inputs[i] = (C - L_cur) / (H_cur - L_cur) * 2 - 1;     i++;      // диапазон значений чаще всего [-1..1], для диапазона [0..1] достаточно убрать из формулы « * 2 - 1»
    inputs[i] = (C - L_H4)  / (H_H4  - L_H4)  * 2 - 1;     i++;       
    inputs[i] = (C - L_D1)  / (H_D1  - L_D1)  * 2 - 1;     i++;   


Idealmente, conectaríamos entradas estacionárias e não estacionárias - preços nus, de modo que o NS pudesse funcionar "de acordo com as instruções", mas em um gráfico dinâmico livre (com preços em movimento livre).

 





Por que a multiplicação do número de entrada por algum número proporciona mais estabilidade estacionária na negociação? O que há com a multiplicação... Ou seja, se um número normalizado for inserido na entrada e, em seguida, algum coeficiente for adicionado a ele, a otimização não fornecerá conjuntos supertreinados ou simplesmente planos.

Mas se multiplicarmos o número de entrada por um coeficiente e executarmos a otimização novamente, obteremos os melhores conjuntos retreinados. O fator de recuperação, o fator de lucro, o equilíbrio, tudo é ordens de magnitude maior do que se você adicionar linearmente.



Mesmo quando criaram o perceptron, a rede neural, eles implementaram a multiplicação por pesos, e não a adição/subtração. Por que isso acontece? Quem sabe, há algum sentido de "produção" nisso ou apenas experimentei, funcionou e deixei para lá.




UPD: Se é que isso aconteceu, eu tirei nota 3 em matemática. Não diga palavrões

 
Cheguei à conclusão de que um NS de trabalho intradiário e de médio prazo deve ter um lucro médio baixo e uma perda média alta. Dessa forma, a amostragem aumenta e é mais provável que a linha de equilíbrio seja plana.



Sim, é um sobrevivente excessivo, porque não tem um stop-loss rigoroso, mas a tarefa é simplificada - você precisa encontrar maneiras de suprimir essas partes do gráfico, onde o NS começa a adormecer. Ou seja, você precisa brincar com o limiar da função de ativação de saída junto com os dados de entrada especializados para essa tarefa.



Por exemplo, os candlesticks não são mais adequados, já que, na maioria das vezes, mostram aleatoriedade nos tamanhos das transações no gráfico. Essa ideia me veio do ramo MO. Inicialmente, há cerca de 5 a 10 anos, quando vi os resultados dos então consultores NS, imediatamente cuspi com as palavras: "Overstayer vergonhoso!".





Mas agora, depois de verificar tudo e qualquer coisa que eu pudesse e imaginasse, a própria prática mostra que os resultados mais estáveis dos instáveis são justamente quando os "tikes" do NS são baixos e os "moose" são grandes. Até agora, o ZigZag continua sendo o principal tipo de dados de entrada em qualquer arquitetura simples.
 
Ivan Butko #:


Cheguei à conclusão de que o NS de trabalho intradiário e de médio prazo deve ter um lucro médio baixo e uma perda média alta.



No exemplo de um dos conjuntos: pode-se ver que os ganhos são curtos e as perdas são maiores. Se ele ficar mais tempo, deixará um "ranho" verde na forma de queda do patrimônio. Mas se ele encontrar um bom ponto no gráfico, poderá fechar a tempo e, assim, mostrar alguma estabilidade

Otimização - ano: 2021-2022, EURUSD H1




O forward durou 2 anos inteiros: 2022-2024




O que também é potencialmente bom é o tamanho intradiário das negociações: pelo menos não são negociações de candlestick único, mas às vezes são estendidas ao longo do tempo. Além disso, as negociações são feitas em ambos os sentidos, COMPRA e VENDA. O eterno problema da aproximação (se eu usar o termo corretamente) é que o NS escolhe quais negociações rendem mais e cria pesos para elas. Como resultado, se a tendência na seção otimizada for de baixa e um terço de sua seção for de alta, ocorrerá uma subsidência global no forward ou no backing.




 
Ivan Butko #:

Usando um dos conjuntos como exemplo:




ótimos resultados! parece que há apenas uma posição no mercado no momento, tente mais algumas posições.
 
Andrey Dik #:

ótimos resultados! parece que há apenas uma posição no mercado no momento, tente mais algumas posições.



Sim, às vezes tento remover essa restrição. Faz sentido, pois, como o preço segue em uma serpente, o ideal é que ele pegue os dois take-outs.