К основному контенту

Knuth moving average


Abaixo você pode ver meu método C para calcular Bandas Bollinger para cada ponto (média móvel, banda ascendente, banda descendente). Como você pode ver, esse método usa 2 para loops para calcular o desvio padrão móvel usando a média móvel. Ele costumava conter um loop adicional para calcular a média móvel nos últimos n períodos. Este eu poderia remover adicionando o novo valor de ponto a totalaverage no início do loop e removendo o valor do ponto i-n no final do loop. Minha pergunta agora é basicamente: Posso remover o loop interno restante de uma maneira similar que eu consegui com a média móvel perguntada em 31 de janeiro de 13 às 21:45 A resposta é sim, você pode. Em meados dos anos 80, desenvolvi apenas um algoritmo desse tipo (provavelmente não original) no FORTRAN para uma aplicação de monitoramento e controle de processo. Infelizmente, isso aconteceu há mais de 25 anos e não me lembro das fórmulas exatas, mas a técnica foi uma extensão da média móvel, com cálculos de segunda ordem em vez de apenas linear. Depois de olhar para o seu código, penso que posso descobrir como eu fiz isso naquela época. Observe como seu loop interno está fazendo uma Soma de Quadrados: da mesma forma que sua média deve ter originalmente uma Soma de Valores. As únicas duas diferenças são a ordem (seu poder 2 em vez de 1) e que você está subtraindo a média Cada valor antes de você marcar. Agora, isso pode parecer inseparável, mas na verdade eles podem ser separados: agora o primeiro termo é apenas uma Soma de Quadrados, você lida com a mesma maneira que você faz a soma de Valores para a média. O último termo (k2n) é apenas a média ao quadrado do período. Como você divide o resultado pelo período de qualquer maneira, você pode simplesmente adicionar o novo quadrado médio sem o loop extra. Finalmente, no segundo termo (SUM (-2vi) k), desde SUM (vi) total kn, você pode alterá-lo para este: ou apenas -2k2n. Que é -2 vezes o quadrado médio, uma vez que o período (n) é dividido novamente. Então, a fórmula combinada final é: (certifique-se de verificar a validade disso, já que eu estou derrubando o topo da minha cabeça) E incorporar seu código deve ser algo assim: Obrigado por isso. Eu usei isso como base de uma implementação em C para o CLR. Descobri que, na prática, você pode atualizar de forma que newVar seja um número negativo muito pequeno, e o sqrt falhar. Introduzi um if para limitar o valor a zero para este caso. Não é idéia, mas estável. Isso ocorreu quando cada valor na minha janela tinha o mesmo valor (usei um tamanho de janela de 20 e o valor em questão era 0,5, caso alguém pretendesse tentar reproduzir isso). Ndash Drew Noakes 26 de julho 13 às 15:25 Ive Usou common-math (e contribuiu para essa biblioteca) para algo muito parecido com isso. Sua fonte aberta, portar para C deve ser fácil como torta comprada na loja (você tentou fazer uma torta do zero). Confira: commons. apache. org/math/api-3.1.1/index. html. Eles têm uma classe StandardDeviation. Vá para a cidade respondeu Jan 31 13 às 21:48 Você já esqueci Desculpe, eu não tinha a resposta que você estava procurando. Eu definitivamente não queria sugerir portar toda a biblioteca. Apenas o código mínimo necessário, que deveria ser algumas centenas de linhas ou assim. Note-se que não tenho ideia do que as restrições legais / de direitos autorais apache têm nesse código, então você deve verificar isso. No caso de você persegui-lo, aqui está o link. De modo que o Variance FastMath ndash Jason Jan 31 13 às 22:36 A informação mais importante já foi dada acima --- mas talvez isso ainda seja de interesse geral. Uma pequena biblioteca Java para calcular média móvel e desvio padrão está disponível aqui: github / tools4j / meanvar A implementação é baseada em uma variante do método Welfords mencionado acima. Métodos para remover e substituir valores foram derivados que podem ser usados ​​para mover o valor de janelas. Estou tentando encontrar uma maneira de calcular uma média cumulativa em movimento sem armazenar a contagem e os dados totais recebidos até agora. Eu criei dois algoritmos, mas ambos precisam armazenar a contagem: dados médios (dados antigos velhos) dados próximos (próxima contagem anterior) / próxima contagem média média média média (próxima data - média anterior) / próxima contagem O problema com esses métodos é esse A contagem fica maior e maior, resultando em perda de precisão na média resultante. O primeiro método usa a contagem antiga e a próxima contagem, que são obviamente separadas. Isso me fez pensar que talvez exista uma maneira de remover a contagem, mas infelizmente não consegui encontrá-la. No entanto, conseguiu um pouco mais, resultando no segundo método, mas ainda contagem está presente. É possível, ou eu só estou procurando o impossível, perguntou: 28 de setembro 12 às 8:46

Комментарии

Популярные сообщения из этого блога

Forex broker timezone

Aviso de Risco: Trading CFDs é arriscado e pode resultar na perda de seu capital investido. Certifique-se de que compreende os riscos envolvidos e não investe mais do que pode perder. Leia a Divulgação de riscos completa. O ForexTime Ltd é regulado pela CySEC sob a licença nº 185 12. Aviso de risco: seu capital está em risco. É possível perder mais do que você investir. Usamos cookies para salvar suas preferências e fornecer-lhe uma experiência mais localizada. Se você aceitar o uso de cookies, você pode continuar a navegar. Consulte nossa Política de cookies para obter detalhes completos e como você pode optar por excluir. Se continuar a navegar, você concorda com nossa Política de Cookies. Regulado Licenciado Regulado registrado em múltiplas jurisdições globais Segurança Segurança de Fundos Segregados em bancos de nível superior da UE 250 Instrumentos de Negociação Comércio Forex, Metálicos Spot CFDs Grande Escolha de Tipos de Conta 8 tipos de conta para investidores comerciantes Mel...

Forex print pvc hartschaumplatte 5mm weiss

Forex Platten FOREX-CLASSIC ist eine leicht geschumte, geschlossenzellige Hartschaumstoffplatte mit einer besonders feinzelligen, homogeneidade Struktur und einer seidenmatten Oberflche. FOREX-CLASSIC ist die leichteste Platte ihrer Art, weist aber trotzdem eine hohe Eigensteifigkeit auf und bleibt auch nach umfangreicher Bearbeitung stabil. FOREXclassic lsst keine Wnsche offen. Mit Vielen Dimensionen, Strken von 119 mm und der Eignung fr unzhlige Anwendungsbereiche ist FOREXclassic lngst die massgebende Marke im gesamten Bereich Anwendungen Forex clássico erfreut sich grsster Beliebtheit bei Schilderherstellern, Ausstellungs - und Messestandbauern, im Displaybereich, Bei Werbefachleuten und fr Bildkaschierungen. Die Hauptanwendungsgebiete sind: Innen - und Aussenschilder POS POP Displays Ausstellungs - und Messestandbau Bildkaschierung Ladenausstattungen und Inneneinrichtungen 3-dimensionale Anwendungen FOREX clássico Platten, die vorher plan geschliffen wurden, knnen durch Aufkleben ...

Análise técnica em forex trading

OANDA usa cookies para tornar nossos sites fáceis de usar e personalizados para nossos visitantes. Os cookies não podem ser usados ​​para identificá-lo pessoalmente. Ao visitar o nosso site, você aceita o uso de cookies da OANDA8217 de acordo com nossa Política de Privacidade. Para bloquear, excluir ou gerenciar cookies, visite aboutcookies. org. A restrição dos cookies impedirá que você se beneficie de algumas das funcionalidades do nosso site. Baixe o nosso Mobile Apps Select conta: ampltiframe src4489469.fls. doubleclick. net/activityisrc4489469typenewsi0catoanda0u1fxtradeiddclatdcrdidtagforchilddirectedtreatmentord1num1 mcesrc4489469.fls. doubleclick. net/activityisrc4489469typenewsi0catoanda0u1fxtradeiddclatdcrdidtagforchilddirectedtreatmentord1num1 width1 height1 frameborder0 styledisplay: nenhum mcestyledisplay: noneampgtamplt / iframeampgt Análises técnicas para Forex Traders Introdução à Análise Técnica Bandas de Bollinger. Índice de Força Relativa. Osciladores estocásticos. R...