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

Regressão linear e ajuste polinomial de qualquer grau por mínimos quadrados. - indicador para MetaTrader 5
- Visualizações:
- 11511
- 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

Normalize (correct) the volume (lot) according to the symbol lot step

This library shows useful informations and do some functions to a symbol.

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 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.