Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
![Indicadores](https://c.mql5.com/i/code/indicator.png)
Regressão linear e ajuste polinomial de qualquer grau por mínimos quadrados. - indicador para MetaTrader 5
- Visualizações:
- 11010
- Avaliação:
- Publicado:
- 2019.12.31 00:43
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Indicador para ajuste polinomial de qualquer grau, pode ser ajustado o grau, numero de elementos a serem aproximados, delay em relação ao candle mais recente, quais buffers calcular e plotar, além do tamanho e cor da plotagem.
Caso o leitor tenha interesse no funcionamento e no algorítimo da aproximação por minimos quadrados e da função de Gauss, eu recomendo o livro dos professores da Universidade Federal de Santa Catarina(UFSC), Sérgio Peters e Júlio Felipe Szeremeta que encontra no link:http://sergiopeters.prof.ufsc.br/livro-calculo-numerico-computacional/
- O indicador está no arquivo adjustment2.mq5.
Ele recebe dois #includes
#include<adjustment.mqh> Include com a função que realiza o ajuste.
#include<polynomials.mqh> Include com função que retorna o valor de um polinomio em certo ponto a partir de seus coeficientes.
#include<system.mqh> Inlude que está presente em "adjustment.mqh", contem a função que encontra os coeficiente de um sistema linear de qualquer grau.
- Parametros do indicador:
Coefficient:(Padrão)=1 -> Parametro que recebe o grau do polinomio que o usuário deseja aproximar.
NumberOfCandles:(Padrão)=15 -> Numero de pontos que o usário deseja usar para fazer a aproximação.
CandlesDelay:(Padrão)=0 -> Numero de candles mais recentes que devem estar fora da aparoximação exemplo:
NumberOfCandles = 15 e CandlesDelay = 0, ele irá pegar os 15 candles mais recentes para fazer a aproximação.
NumberOfCandles = 15 e CandlesDelay = 1, ele irá desconsiderar o candles mais recente e pegar os 15 candles mais recentes apos o primeiro.
PeriodToCalculate:(Padrão)=PeriodoDoGrafico -> Mudando esse parametro, é possivel fazer uma aproximação de um periodo diferente do gráfico.
Group "Switch Buffers" -> O indicador faz aproximação para, High, Close,Open,Low e caso o usuário não precise de algum deles, é possivel desativar para economizar processo computacional.
SwitchHigh = (Padrão)true
SwitchClose = (Padrão)true
SwitchOpen = (Padrão)true
SwitchLow = (Padrão)true
Group "Switch Buffers Plot" -> É possivel deixar o indicador calculando , porém, desligar a plotagem.
SwitchHighPlot = (Padrão)true
SwitchClosePlot = (Padrão)true
SwitchOpenPlot = (Padrão)true
SwitchLowPlot = (Padrão)true
Group "Buffer Plot Line Width" -> O usuário pode determinar o tamanho da linha.
HighPlotLineWidth:(Padrão)=2
ClosePlotLineWidth:(Padrão)=2
OpenPlotLineWidth:(Padrão)=2
LowPlotLineWidth:(Padrão)=2
Group "Buffer Plot Line Color" -> O usuário pode determinar as cores da plotagem
HighPlotColor= (Padrão)ColorGreen
ClosePlotColor= (Padrão)ColorBlue
OpenPlotColor= (Padrão)ColorYellow
LowPlotColor= (Padrão)ColorRed
- Testes:
Aproximação de primeiro Grau usando 15 candles mais recentes.
Aproximação de terceiro Grau usando 15 candles mais recentes.
Comparação entre os pontos fornecidos e a curva calculada.
*Os pontos em azul, são a maxima do candle
*A curva em vermelhor é aproximação calculada
Para primeiro grau
Para terceiro grau
![Volume Normalize (correct it)](https://c.mql5.com/i/code/library.png)
Normalize (correct) the volume (lot) according to the symbol lot step
![Symbol Trade Made Simple](https://c.mql5.com/i/code/library.png)
This library shows useful informations and do some functions to a symbol.
![Classe para ajuste de preço, para qualquer ativo, inclusive miniindice e minidolar.](https://c.mql5.com/i/code/library.png)
Algumas de minhas EA's trabalham com proporção para determinar o preço, portanto muitas vezes, esse preço não está de acordo com o padão exigido pelo ativo. Além disso, para quem opera no mercado forex e B3 sofre problemas para criar uma EA que seja compatível com os dois mercados sem precisar fazer adptações.
![Painel modular simples e muito facil de usar.](https://c.mql5.com/i/code/library.png)
Painel modular que se adapta ao tamanho do grafico, em uma proporção desejada pelo usuário. O usuário pode adicionar quantos botões e textos quiser. Muito simples e facil de usar.