Bem, sim, é curto, mas isso está na versão mais simples, e há algumas outras melhorias em relação à velocidade do algoritmo e à consideração de restrições...
Este implementou suporte para dimensões de dados até 3, inclusive, mais um método de estimativa de limite inferior e teste de percurso do candidato associado (como eu entendo, isto é muito mais barato que DTW completo para dimensões >1, onde o método principal se torna um problema TK-completo e leva a tempos de solução exponenciais)
Há um artigo sobre DTW no site Habrahabra http://habrahabr.ru/blogs/algorithm/135087/, parece ser muito claro, mas eu não consigo entender como usar DTW para OHLC, alguém pode me explicar isso?
IgorM: Há um artigo sobre DTW no site Habrahabra http://habrahabr.ru/blogs/algorithm/135087/, parece ser muito claro, mas eu não consigo entender como usar DTW para OHLC, alguém pode me explicar isso?
O problema é que eu não entendo como usá-lo, tudo o que entendi é que com DTW você pode encaixar diferentes períodos de tempo (BP) na mesma escala para análise posterior, mas como... - não entendem
Não funcionou, a própria fonte DTW é fácil de portar para mql, de alguma forma:
o problema é que eu não entendo como usar isso, tudo o que entendi é que com DTW você pode encaixar diferentes seções de tempo (BPs) na mesma escala para análise posterior, mas como... - não entendo
Experimentei-o. Também não tenho certeza de como utilizá-lo. A saída deve ser ou um caminho de transformação ou dados transformados. Digamos que o custo[][] é uma matriz de distância. Mas dá um caminho com retorno (se buscarmos o valor mínimo em cada coluna), a condição "1. Monotonicidade - o caminho nunca retorna, ou seja: ambos os índices, i e j, que são usados na seqüência, nunca diminuem". Além disso, o caminho não alcança o canto oposto. Em geral, eu realmente não entendo o significado de todas essas manipulações com números ao preencher a matriz de custos[][] - primeiro as distâncias são simplesmente contadas e depois são adicionadas.
Se precisamos contar as distâncias entre cada elemento t1 e cada elemento t2, então por que devemos fazer tantos cálculos, se precisamos cumprir a condição "1. Monotonicidade - o caminho nunca retorna, isto é: ambos os índices i e j usados na seqüência nunca são diminuídos"?
O DTW é completamente inadequado para a tarefa em questão. DTW é usado para reconhecer a fala (palavras) em um fluxo de áudio em tempo real, como segue (aproximadamente):
Há um padrão (palavra) - uma seqüência de dados, de comprimento N.
Há um fluxo de áudio - uma seqüência de dados, de comprimento M >> N.
Do fluxo de áudio são selecionados os dados mais externos, de diferentes comprimentos (aproximadamente).
Cada pedaço é comparado com um modelo da DTW.
Se o DTW máximo excede um determinado limite, considera-se que uma palavra foi dita.
Portanto, DTW é apenas um critério para comparar duas seqüências de diferentes comprimentos. Nada mais.
Para buscar palavras na história do áudio, a DTW não é nada adequada, pois é muito consumidora de recursos. Por exemplo, descobrir quantas vezes uma palavra foi dita na última hora, usando DTW, é quase impossível.
Uma solução rápida para este problema é usar um algoritmo rápido para calcular o CQ da Pearson. Ao fazer isso, o DTW é convertido cada vez por um ZigZag com parâmetros de entrada diferentes. Tal algoritmo é muito fácil de paralelizar e funcionará quase em tempo real quando implementado usando GPU.
Outra pergunta é: por que precisamos dela? Ninguém resolveu esta tarefa em um nível sério. Mas estou quase certo de que, depois de resolvido, haverá mais um prego no caixão da solidez da teoria dos padrões.
A teoria dos padrões, assim como as ondas Elliott e Fibo não é um nível tecnocrático de pensamento.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
aqui parece ser o código fonte http://www.bytefish.de/blog/dynamic_time_warping
Há um artigo sobre DTW no site Habrahabra http://habrahabr.ru/blogs/algorithm/135087/, parece ser muito claro, mas eu não consigo entender como usar DTW para OHLC, alguém pode me explicar isso?
Isso já é feito por um preço?
Não funcionou, não é um problema portar a fonte DTW para mql, de alguma forma:
O problema é que eu não entendo como usá-lo, tudo o que entendi é que com DTW você pode encaixar diferentes períodos de tempo (BP) na mesma escala para análise posterior, mas como... - não entendemNão funcionou, a própria fonte DTW é fácil de portar para mql, de alguma forma:
o problema é que eu não entendo como usar isso, tudo o que entendi é que com DTW você pode encaixar diferentes seções de tempo (BPs) na mesma escala para análise posterior, mas como... - não entendoExperimentei-o. Também não tenho certeza de como utilizá-lo. A saída deve ser ou um caminho de transformação ou dados transformados. Digamos que o custo[][] é uma matriz de distância. Mas dá um caminho com retorno (se buscarmos o valor mínimo em cada coluna), a condição "1. Monotonicidade - o caminho nunca retorna, ou seja: ambos os índices, i e j, que são usados na seqüência, nunca diminuem". Além disso, o caminho não alcança o canto oposto. Em geral, eu realmente não entendo o significado de todas essas manipulações com números ao preencher a matriz de custos[][] - primeiro as distâncias são simplesmente contadas e depois são adicionadas.
Se precisamos contar as distâncias entre cada elemento t1 e cada elemento t2, então por que devemos fazer tantos cálculos, se precisamos cumprir a condição "1. Monotonicidade - o caminho nunca retorna, isto é: ambos os índices i e j usados na seqüência nunca são diminuídos"?
.
O DTW é completamente inadequado para a tarefa em questão. DTW é usado para reconhecer a fala (palavras) em um fluxo de áudio em tempo real, como segue (aproximadamente):
Portanto, DTW é apenas um critério para comparar duas seqüências de diferentes comprimentos. Nada mais.
Para buscar palavras na história do áudio, a DTW não é nada adequada, pois é muito consumidora de recursos. Por exemplo, descobrir quantas vezes uma palavra foi dita na última hora, usando DTW, é quase impossível.
Uma solução rápida para este problema é usar um algoritmo rápido para calcular o CQ da Pearson. Ao fazer isso, o DTW é convertido cada vez por um ZigZag com parâmetros de entrada diferentes. Tal algoritmo é muito fácil de paralelizar e funcionará quase em tempo real quando implementado usando GPU.
Outra pergunta é: por que precisamos dela? Ninguém resolveu esta tarefa em um nível sério. Mas estou quase certo de que, depois de resolvido, haverá mais um prego no caixão da solidez da teoria dos padrões.
A teoria dos padrões, assim como as ondas Elliott e Fibo não é um nível tecnocrático de pensamento.
A DTW é totalmente desadequada à tarefa em questão.
Algo que eu mesmo inventei, mas não sei, é um absurdo.
A linha amarela, que é a laranja esticada sobre a vermelha.