Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
766
Ranking:
(19)
Publicado:
2018.06.08 12:26
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Parámetros de la función:

  • double LX1 - coordenada X del primer punto de la línea;
  • double LY1 - coordenada Y del primer punto de la línea;
  • double LX2 - coordenada X del segundo punto de la línea;
  • double LY2 - coordenada Y del segundo punto de la línea;
  • double DX - coordenada X del punto;
  • double DY - coordenada Y del punto.


Principio del cálculo

Usando las coordenadas de dos puntos de la línea, obtenemos las fórmulas de la línea tipo y=a+k*x. El coeficiente k determina el tamaño de la inclinación de la línea, es decir, el cambio de la coordenada y por la unidad del cambio de la coordenada x. El coeficiente k se calcula de la siguiente manera:

double K=(LY2-LY1)/(LX2-LX1);

La constante a define el valor de la línea cuando x=0, es decir, corresponde al nivel en el que la línea cruza el eje y. Sabiendo el coeficiente de la inclinación y la coordenada X de uno de los puntos, calculamos а:

double LA=LY1-K*LX1;

La distancia del punto a la línea se determina por la perpendicular trazada hasta la línea. Si giramos la imagen a 90 grados contra el sentido de la aguja del reloj, la línea d va a tener el mismo coeficiente de la inclinación que la línea principal, pero con otro signo. Sabiendo el coeficiente de la inclinación y la coordenada de uno de los puntos, se puede obtener la ecuación de la línea, pero en este caso, en forma de x=a-ky. Entonces, la constante a:

double DA=DX+K*DY;

Teniendo las fórmulas de dos líneas, encontraremos el punto de su intersección: Para eso, colocamos y expresada con la fórmula de la primera línea en la fórmula de la segunda línea, hacemos pequeñas transformaciones y obtenemos la coordenada x del punto de intersección:

double CX=(DA-K*LA)/(1.0+K*K);

Colocamos la x obtenida en la fórmula de la primera línea y obtenemos la coordenada y de la intersección de las líneas:

double CY=LA+K*CX;

Sabiendo las coordenadas de dos puntos, se puede calcular la distancia entre ellos en los ejes X y Y (valores de las proyecciones en los ejes). Luego, calculamos la distancia usando el teorema de Pitágoras:

MathSqrt(MathPow(DX-CX,2)+MathPow(DY-CY,2))

El que desea puede participar en la discusión del problema en el tema del foro https://www.mql5.com/ru/forum/237198 o en los comentarios de abajo.

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/20481

Nonlinear regression Nonlinear regression

Este indicador representa una versión del cálculo de la regresión no lineal para MetaTrader 5. Nonlinear regression es el indicador que reacciona muy rápido a los cambios inesperados del mercado, por eso el período del cálculo por defecto está establecido a un período algo más largo que normalmente para este tipo de indicadores. Por eso, yo recomiendo experimentar con el período, dependiendo de su estrategia comercial y el estilo del trading.

MACD High/Low MACD High/Low

MACD High/Low utiliza el máximo más alto y el mínimo más bajo de MACD en (nnn) barras atrás, con el fin de calcular la línea cero que se cambia de una manera dinámica, los niveles tempranos del crecimiento/.bajada y los niveles de confirmación de la tendencia alcista/bajista.

Sadukey Sadukey

El indicador combina dos filtros digitales en el gráfico para estimar la tendencia actual.

Poker_SHOW Poker_SHOW

Asesor Experto a base del generador de números aleatorios. Determinando la tendencia a base del indicador iMA (Moving Average, MA).