Discussão do artigo "Construindo uma rede neural profunda do zero em linguagem MQL" - página 5
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Modifiquei a entrada "bodyPer". Em vez de carregar simplesmente o comprimento relativo do corpo, calculei este valor: bodyPer=0,5+((close-open)/p100)/2;
Assim, mais do que o comprimento relativo, a variável também captura a direção da vela. Isso libera um espaço para uma quarta variável, eu acho.
int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
Aqui passamos os dados de uma vela que ainda não foi formada. Na realidade, todos os parâmetros serão os mesmos quando o candle for aberto. Todos serão = rates[0].open
int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
Aqui passamos os dados de uma vela que ainda não foi formada. Na realidade, todos os parâmetros serão os mesmos quando o candle for aberto. Todos serão = rates[0].open
Incorreto!
Aqui a cópia é realizada não a partir da barra zero, mas a partir da primeira, portanto, aqui:
CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
serão os valores da última barra...
Não acho que seja necessário copiar 5 barras, basta copiar 1 barra passada dessa forma:
Olá Anddy, ótimo trabalho que você fez!!!
Estou analisando seu código para se adaptar à minha estratégia e até agora posso afirmar que seu DNN é incrível! Obrigado por compartilhar.
Só tenho uma dúvida: não reconheço o uso de "yValues[2]>0.6" em nenhuma situação. Após diversas tentativas com ativos diferentes, nenhuma negociação foi fechada por esta condição. Está certo?
Obrigado!
Melhor,
Alexandre
Neste fórum, por favor comentar em português. Utilize a ferramenta de tradução automática ou comente num dos fóruns doutro idioma.
Há um erro lógico no código!
Comportamento estranho sempre que a variável de tendência é alterada, os resultados do treinamento são sempre diferentes, por quê?
Há um erro lógico no código!
Especificidade da função de ativação.
E quanto mais valores atingirem ou ultrapassarem o limite do limiar, mais posições ou mais oportunidades de ajustar (memorizar o caminho) o gráfico de preços à rede neural.Quanto mais camadas, mais atenuação - os valores ficarão mais próximos de 0.
O deslocamento corrige um pouco esse problema.
Portanto, quando o limite é definido como 0,6, a maioria dos conjuntos possíveis é descartada. E se você estiver alimentando a entrada com um número enorme ou vários números grandes, mesmo uma passagem direta trará mais valores possíveis para o final da rede neural.
Especificidade da função de ativação.
E quanto mais valores atingirem ou ultrapassarem o limite do limiar, mais posições ou mais oportunidades de ajustar (lembre-se do caminho) o gráfico de preços à rede neural.Quanto mais camadas, mais atenuação - os valores ficarão mais próximos de 0.
O deslocamento corrige um pouco esse problema.
Portanto, quando o limite é definido como 0,6, a maioria dos conjuntos possíveis é descartada. E se você estiver alimentando a entrada com um número enorme ou vários números grandes, mesmo uma passagem direta trará mais valores possíveis para o final da rede neural.
De qualquer forma, os resultados do treinamento são sempre muito variáveis com qualquer tipo de otimização, o que levanta certas dúvidas sobre sua aplicabilidade à negociação real - sempre haverá melhores parâmetros de pesos em combinações de reordenamento. Qual é a explicação para essa peculiaridade dessa NS?
De qualquer forma, os resultados do treinamento são sempre muito variáveis com qualquer tipo de otimização, o que levanta certas dúvidas sobre a aplicabilidade para a negociação real - sempre haverá melhores parâmetros de pesos na reordenação das combinações. Qual é a explicação para essa peculiaridade desse NS?
Você dá muita importância a esse NS, na verdade todos os NSs e tudo relacionado a MO, em geral - em todos os lugares em que há multiplicação de números por números e um somador na função de ativação - tudo será um ajuste ao gráfico. Um sistema totalmente instável.
É interessante se aprofundar nisso, construir arquiteturas, adicionar neurônios e camadas. Mas isso é absolutamente inútil, não é melhor do que cruzar mashka.Além disso, a precificação é um processo não estacionário. Sempre que houver novos dados, e se você dividir o gráfico em padrões, eles tenderão a funcionar 50/50 no histórico.
NS é para sistemas estacionários, repetitivos.
Mas no Forex e assim por diante você precisa de sistemas mais avançados e inteligentes. Algo como vários NSs, de alguma forma conectados entre si, de alguma forma se adaptando magicamente à mudança das estatísticas do padrão, etc.
O NS em si é uma memorização do caminho do preço ou uma média dos resultados, se a quantidade de novos dados for maior do que as combinações possíveis de números obtidos por multiplicação (ou, falando de forma simples, a arquitetura NS mais simples com duas ou três entradas).
Você dá muita importância a esse NS; na verdade, todos os NSs e tudo relacionado a MO, em geral - em qualquer lugar em que haja multiplicação de números por números e um somador na função de ativação - tudo será um ajuste ao gráfico. Um sistema totalmente instável.
É interessante se aprofundar nisso, construir arquiteturas, adicionar neurônios e camadas. Mas isso é completamente inútil, não é melhor do que atravessar o mashka.Além disso, a precificação é um processo não estacionário. Sempre que houver novos dados, e se você dividir o gráfico em padrões, eles tenderão a funcionar 50/50 no histórico.
NS é para sistemas estacionários, repetitivos.
Mas no Forex e assim por diante você precisa de sistemas mais avançados e inteligentes. Algo como vários NSs, de alguma forma conectados entre si, de alguma forma se adaptando magicamente à mudança das estatísticas do padrão, etc.
O NS em si é uma memorização do caminho do preço ou uma média dos resultados, se a quantidade de novos dados for maior do que as combinações possíveis de números obtidos por multiplicação (ou, falando de forma simples, a arquitetura NS mais simples com duas ou três entradas).
Ivan, obrigado pelo esclarecimento. Qualquer estatística tem uma tendência a se repetir. Em princípio, se um indicador integral for usado na otimização (treinamento) do NS, poderemos ver pelos pontos como e quando ocorre a transição da ignorância para o conhecimento - como negociá-lo melhor. A busca por uma variável significativa é uma conversa à parte. Você conseguiu resolver o problema com o escalonamento das entradas em mais de 4x?