6° Grau Poli Ajuda! - página 2

 
gooly:

Olá dennisj2,

você tem certeza de que realmente precisa de sua fórmula?

Talvez você tente primeiro procurar por outros filtros como Kalman, Ehlers, Gauss, Jurik (JMA), DEMA. A maioria deles deriva de filtros de baixa freqüência (física) e a maioria deles encontrou seu caminho para o código mt4.

Pode ser um JMA (há muitas variações) com um período mais longo - o que você está procurando?



Você tem algum link que eu possa pesquisar?

 
dennisj2:



SDC - agora você está no mesmo nível que eu - a fórmula de regressão linear que encontrei funciona - e há duas fórmulas distintas que encontrei e que produzem resultados idênticos. Estas fórmulas são ótimas se a regressão linear (uma linha reta de tendência) for o que procurávamos.

Em primeiro lugar, algum material de referência:

Microsoft: http://office.microsoft.com/en-us/excel-help/linest-HP005209155.aspx

IntegralCalc: https://www.youtube.com/watch?v=1pawL_5QYxE&noredirect=1


Dada a equação de regressão linear y = mx + b:

Onde y = preço, (por exemplo, Close[x])

e x = índice (por exemplo, Bar[x])

e m = Declive (o coeficiente aplicado a cada par (x,y))

e b = intercepção Y (o valor base da intercepção Y aplicado a cada par (x,y))


Método A: De IntegralCalcMétodo B: Da Microsoft (onde x(overbar) e y(overbar) são meios)


Mesmo a fórmula da linha de tendência de regressão polinomial até o nono grau é relativamente fácil de aplicar:

Dada a fórmula: y = m1*x1 + m2*x2 + m3*x3 + ... + b

Onde as variáveis x, y, m, e b levam a mesma definição descrita na equação linear.

Parece que eu tenho tudo, então o que está faltando?

O que está faltando é o cálculo para o m (Slope) e o b (Y-intercepção) para uma regressão polinomial; a equação linear para o cálculo destes valores não se aplica a uma regressão polinomial. Pelo que aprendi, a regressão polinomial requer uma fórmula que calcule os mínimos quadrados com base em um sistema de equações polinomiais usando uma matriz. Veja os gráficos de exemplo acima. No primeiro gráfico, as linhas de polinômio(6) são absolutamente imaculadas - tops e bottomtoms são claramente chamados de fora. Com estes dados, serei capaz de manter as negociações por mais tempo do que faço hoje, em última análise dobrando, potencialmente triplicando minha média de pips por negociação.

No segundo gráfico, mostro os resultados do método poly(6) versus o método i-regr que usa uma matriz de gauss para resolver os coeficientes de inclinação - e, escusado será dizer, é bastante inútil devido à latência substancial do método. Por outro lado, uma simples média móvel é ainda pior - o SMA é muito sensível durante correções intermediárias de mercado que poderiam causar uma reação exagerada do meu EA.

Estou disposto a pagar alguém para desenvolver um verdadeiro indicador de regressão polinomial - mas, os resultados devem absolutamente espelhar os resultados que o Excel produz. A função LINEST() é uma caixa preta onde muito voodoo é usado para calcular os coeficientes. Muito simplesmente, eu preciso entender este vudu.

Atualização: anexei um arquivo mostrando o método implementado no Excel.


Eu codifiquei uma regressão linear um pouco aqui atrás é o link para meu código: No entanto, não garanto que seja 100% correto, acho que identifiquei um problema com o uso do índice zero x nos cálculos que fixei algum tempo depois.

Também codifiquei uma versão móvel disso, a versão móvel cria uma parábola semelhante a uma média móvel suavizada, porque a cada barra só desenha a última coordenada da linha de regressão linear.

Tenho tentado aprender como usar um polígrafo de 2º grau nominal para sua linha. Pensei que se pudéssemos fazer isso com um quadrático, poderíamos expandir isso com um 6º grau.

Vou ler seus links e ver se posso aprender alguma coisa,

 
SDC:

Eu codifiquei uma regressão linear um pouco aqui atrás é o link para meu código: No entanto, não garanto que seja 100% correto, acho que identifiquei um problema com o uso do índice zero x nos cálculos que fixei algum tempo depois.

Também codifiquei uma versão móvel disso, a versão móvel cria uma parábola semelhante a uma média móvel suavizada, porque a cada barra só extrai a última coordenada da regressão linear.

Tenho tentado aprender como usar um polígrafo de 2º grau nominal para sua linha. Pensei que se pudéssemos fazer isso com um quadrático, poderíamos expandir isso com um 6º grau.

Vou ler seus links e ver se posso aprender alguma coisa,


SDC: Concordo - um quadrático pode não ser suficiente, mas tenho a tendência de acreditar que um cúbico pode ser suficiente para se estender a graus mais altos.
 
dennisj2:


Você tem algum link que eu possa pesquisar?

Apenas google: indicador mt4

e depois um dos nomes...

Pode ser que você acrescente filtro (lowpass).

Alguns estão na base do código mt4 - outros apenas não e não devemos postar links externos...

 
SDC: Eu tenho outro elo - pode ser exatamente o que precisamos
 
É só lembrar que a regressão é a adaptação da curva e, como alguém já apontou, as regressões repintam. Não tenho certeza do valor preditivo que o ajuste de curvas puro tem. A partir de minhas próprias experiências, o valor preditivo deles não foi muito bom.
 
rocketman99:
Basta lembrar que a regressão é ajuste de curva e, como alguém já apontou, as regressões repintam. Não tenho certeza do valor preditivo que o ajuste de curvas puras tem. De minhas próprias experiências, seu valor preditivo não foi muito bom.



Rocketman,

Concordo com você em parte, na medida em que os modelos de regressão tendem a repintar tendências históricas e não são muito confiáveis. Este é claramente o caso do indicador i-regr - tenho observado o desempenho deste indicador ao vivo nos últimos dias e posso dizer honestamente que este indicador não oferece valor por três razões: 1) é hipersensível a correções de curto prazo, e 2) sua latência severa (com o e-regr EA) quando o indicador pinta o ponto de entrada do limite inferior para posições longas, ou o limite superior para posições curtas, o mercado se moveu muito além dos pontos de entrada e, na maioria dos casos, contrasta com a tendência do mercado, e 3) somente a partir da observação, quando o mercado subiu, o indicador estava apontando para baixo, e vice-versa, de modo que seu uso como um indicador de tendência direcional é 50% confiável na melhor das hipóteses.

Na semana passada, o USDJPY ficou em torno de 102,35-102,50 de área, o i-regr apresentou uma tendência de mercado para o lado negativo (tinha curvado para baixo e estava se movendo para baixo), o e-regr emitiu uma venda, então o indicador apenas 5 períodos após ter sido mudado para longo e repintado como se sempre tivesse sido longo como se o USDJPY tivesse avançado para 104,20)

Em apoio ao ponto de que indicadores do tipo re-pintar não oferecem nenhum valor e não são confiáveis - dado o que vi trabalhar com as bibliotecas MQL4 disponíveis, asseguro-lhes que compreendo a frustração expressa por aqueles que trabalharam com estes indicadores - dado o que temos, nada funciona. Dito isto, ainda não vi um indicador de regressão polinomial confiável que calcula até o 6º grau. Também vou assegurar que, uma vez que tenhamos uma regressão polinomial confiável, os resultados serão espetaculares.

 
dennisj2:



Rocketman,

Concordo com você em parte, na medida em que os modelos de regressão tendem a repintar tendências históricas e não são muito confiáveis. Este é claramente o caso do indicador i-regr - tenho observado o desempenho deste indicador ao vivo nos últimos dias e posso dizer honestamente que este indicador não oferece valor por três razões: 1) é hipersensível a correções de curto prazo, e 2) sua latência severa (com o e-regr EA) quando o indicador pinta o ponto de entrada do limite inferior para posições longas, ou o limite superior para posições curtas, o mercado se moveu muito além dos pontos de entrada e, na maioria dos casos, contrasta com a tendência do mercado, e 3) somente a partir da observação, quando o mercado subiu, o indicador estava apontando para baixo, e vice-versa, de modo que seu uso como um indicador de tendência direcional é 50% confiável na melhor das hipóteses.

Na semana passada, o USDJPY ficou em torno de 102,35-102,50 de área, o i-regr apresentou uma tendência de mercado para o lado negativo (tinha curvado para baixo e estava se movendo para baixo), o e-regr emitiu uma venda, então o indicador apenas 5 períodos após ter sido mudado para longo e repintado como se sempre tivesse sido longo como se o USDJPY tivesse avançado para 104,20)

Em apoio ao ponto de que indicadores do tipo re-pintar não oferecem nenhum valor e não são confiáveis - dado o que vi trabalhar com as bibliotecas MQL4 disponíveis, asseguro-lhes que compreendo a frustração expressa por aqueles que trabalharam com estes indicadores - dado o que temos, nada funciona. Dito isto, ainda não vi um indicador de regressão polinomial confiável que calcula até o 6º grau. Também vou assegurar que, uma vez que tenhamos uma regressão polinomial confiável, os resultados serão espetaculares.




Eu não sou matemático, mas minha experiência com qualquer forma de regressão não foi muito boa. Como você observa, há muitas maneiras de fazer regressões que podem resultar em um melhor ajuste da curva estatística. Mas a questão continua sendo o seu poder preditivo.

Se você realmente quer ir a fundo com este material, então você precisa investigar R e tentar algumas das regressões avançadas disponíveis (google para ARIMA, ARCH/GARCH etc.): http://talksonmarkets.files.wordpress.com/2012/09/time-series-analysis-with-arima-e28093-arch013.pdf

Eu passei semanas investigando estas coisas e também investiguei a co-integração e meu sucesso foi quase zero.

Não creio que a codificação MQL4 esteja à altura desta análise estatística avançada.

 

bem, hmmm hmmm.....

I don't think MQL4 coding is up to the task for this advanced statistical analysis.

tudo pode ser feito em MQL, este não é o fator limitante. Parece que portar uma dessasfontes seria suficiente:
http://rosettacode.org/wiki/Polynomial_regression

Resolver uma regressão P6 (polinômio de 6º grau) é resolver um sistema de 6 equações com 6 variáveis sobre uma função numérica discreta, o que talvez não seja simples, mas não é impossível de fazer.

Posso ver mais tarde que método é usado exatamente em i_regr.mq4.

minha experiência com qualquer forma de regressão não foi muito boa

Tenho que concordar, este foi o ponto do meu primeiro comentário. Porque ... o que estamos fazendo? Estamos nos encaixando com parte da curva aleatória (a real PA (Price Action)) a P6, neste caso. E então esperamos que o próximo ponto de PA aja como uma continuação desta curva?

OK, parece que Dennis está usando esta curva como pequena função de transformação de latência de PA, e isto tem algum sentido, por mais bom que isto possa ser? Isto deve ser feito em TF mais alta por causa da filtragem de ruído, e eu não acho que será possível evitar as perdas quando PA entrar em variação, que é o problema com tal tipo de estratégia comercial.


Este indicador não oferece nenhum valor por três razões: 1) é hipersensível a correções de curto prazo, e 2) sua latência severa (com o e-regr EA) no momento em que o indicador pinta o ponto de entrada do limite inferior para posições longas, ou o limite superior para posições curtas, o mercado se moveu muito além dos pontos de entrada e, na maioria dos casos, contrasta com a tendência do mercado, e 3) somente a partir da observação, quando o mercado se dirigiu para cima, o indicador estava apontando para baixo, e vice-versa, de modo que seu uso como indicador de tendência direcional é 50% confiável na melhor das hipóteses

Bem, o i-regrão não funciona tão mal. Para vê-lo em ação, basta usar o modo visual backtest do e-regr.mq4 e soltar o indicador na janela de teste.
Acho que ele usa algum tipo de regressão ou interpolação rápida, mas seu resultado não é tão ruim assim. Ele segue o PA e se adapta à curva.

Seus pontos:
1) todos os indicadores são. isto normalmente é resolvido com a adição de outro tipo de indicador como filtro, ou TF superior.
2) bem, com melhor latência de ajuste da curva irá melhorar. mas o problema primário não é a latência, mas os critérios de entrada da curva e-regr. contra-tendência disparando nas bordas do canal de tamanho constante? sem recuperação adequada para a mudança de tendência? sem verdadeira gestão de dinheiro? ridículo.
minha idéia primária seria entrar/sair na mudança de direção da curva de regressão, mas ainda não tenho certeza de como um indicador completo de repintura seria bom para isso.

De qualquer forma, tive a impressão de que você está usando a intersecção de duas curvas de regressão com diferentes coeficientes de determinação para entrada/saída.

 
T

Sim, como disse Graziani, podemos codificar qualquer coisa em mql4, tudo se resume a quão bem entendemos como implementar esta matemática.

Quanto à repintura, isso não será um problema, a única barra que nos interessa é a barra zero, a barra comercial de preço atual. A maneira como eu codificaria isto (assumindo que podemos descobrir a matemática) é a equação que será feita sobre os preços das últimas n barras, o valor resultante para a barra zero será traçado, a linha em todas as barras anteriores será deixada como era do cálculo anterior. Para um, não há necessidade de ajustar a linha inteira para qualquer histórico de gráfico quando só podemos negociar na barra zero e, em segundo lugar, mostraria um histórico real de como a linha foi aplicada a cada barra quando era a barra de preço ao vivo.

A partir do link Dennis Posted Polynominal Regression, achei isto muito interessante do ponto de vista de um indicador adaptativo.

"Em regressão polinomial, diferentes potências da variável X (X, X2, X3...) são adicionadas a uma equação para ver se aumentam o r2 de forma significativa. Primeiro é feita uma regressão linear, ajustando uma equação da forma Y=a+bX aos dados. Depois uma equação da formaY=a+b1X+b2X2, que produz uma parábola, é ajustada aos dados. Ther2 sempre aumentará quando você acrescentar um termo de ordem mais alta, mas a questão é se o aumento em r2 é significativamente maior do que o esperado devido ao acaso. A seguir, uma equação da formaY=a+b1X+b2X2+b3X3, que produz uma linha em forma de S, é ajustada e o aumento em r2 é testado. Isto pode continuar até que um outro termo não aumente r2 significativamente".

Isso pode ser tudo o que precisamos saber para codificá-lo, observe como o autor escreve y=a+b1X+b2X2 ao invés de y=ax2+bx+c ? Isso era o que estava me deixando louco, eu pensei que c tinha que ser um coeficiente totalmente diferente. Deste artigo, os coeficientes c,d,e,f,g em y=ax6+bx5+cx4+dx3+ex2+fx+g estão diretamente relacionados com b que já sabemos de regressão linear, é inclinação.

Dito isto, tenho dificuldade de acreditar que é realmente assim tão simples ? Por que eles escreveriam coeficientes a,b,c,d,e,f,g, se realmente pode ser escrito como y=a+b1X+b2X2+b3X3+b4X4+b5X5+b6X6? Também como Dennis disse, outros artigos parecem sugerir a interceptação da inclinação como em uma regressão linear não se aplica à poli regressão. Às vezes eu me pergunto se eles não inventam estas coisas à medida que vão avançando.

Além disso, o artigo parece implicar que r2 pode ser usado para medir quão bem a linha se encaixa na curva de dados enquanto estamos testando aumentos na equação polilinha por grau,

Estou pensando que o r2 pode ter algo a ver com variância ? Alguém pode dizer com certeza o que é r2 ?