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
Librerías

Reemplazo de CRect y CCanvas (Biblioteca estándar - han sido corregidos algunos errores) - librería para MetaTrader 5

MetaQuotes / Changes by Doerk | Spanish English Русский 中文 Deutsch 日本語 Português
Publicado por:
Doerk Hilger
Visualizaciones:
742
Ranking:
(24)
Publicado:
2016.02.03 11:02
Actualizado:
2016.11.22 07:33
\MQL5\Include\Controls\
rect.mqh (12.53 KB) ver
\MQL5\Include\Canvas\
canvas.mqh (82.83 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Autor real:

MetaQuotes Software. Correcciones y mejoras realizadas por Doerk.

Cuando se pone a trabajar con la biblioteca estándar a base de píxeles, pronto notará que en algunos lugares faltan píxeles. Este extraño comportamiento es causado principalmente por varios errores en la clase CRect. Aquí el principal problema consiste en el hecho de que la clase original falla al calcular el alto y el ancho del rectángulo, que afecta a casi TODAS las clases derivadas de la clase CWnd, ya que CWnd se basa gráficamente en CRect.

En CRect original el ancho se calcula de la siguiente manera:

width = x2 - x1

Es sencillamente erróneo. Cuando Ud. crea cualquier objeto rectangular empezando desde 0,0 hasta 10,10, el ancho del objeto es de 11 píxeles, y no de 10. Así, la respuesta correcta es

width = x2 - x1 +1

En algunas otras clases de la biblioteca estándar el ancho se calcula correctamente, pero no siempre (o sea, en CCanvas cuando se crea y se dirige al recurso en la memoria, pero no cuando se rellena el rectángulo). En cualquier caso, este comportamiento es inconsistente y debe ser corregido.

Ahora es posible comparar dos rectángulos usando los operadores habituales, tales como: == != >= <= > <

en vez de codificación

if (rect1.left==rect2.left && rect1.top==rect2.rect.top && rect1.right==rect2.rect.right && rect1.bottom==rect2.bottom)

sólo hay que introducir

if (rect1==rect2)

Además, para la ampliación o aumento del rectángulo, se soportan los operadores unitarios, tales como: ++, --, +.

Recomendaciones:

  • Reemplace Rect.mqh con este archivo en la carpeta Controls. No lo coloque en otra carpeta, simplemente no va a funcionar.
  • Reemplace Canvas.mqh en la carpeta Canvas con el archivo adjunto. No lo coloque en otra carpeta, no va a funcionar.
  • Haga una copia de seguridad de este archivo y restáurelo en las versiones nuevas del MetaTrader en la carpeta de origen.
  • Si MetaQuotes decide reemplazar los originales por estos archivos, creo que de cualquier manera será informado de eso.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/13936

Reemplazo de CWndContainer Reemplazo de CWndContainer

Este archivo reemplaza el archivo original WndContainer.mqh. Previene la alteración del gráfico al hacer clic y mantener pulsado el botón del ratón dentro del área del contenedor.

RJT Matches RJT Matches

Este indicador ayuda a determinar el final y el comienzo de las tendencias basándose en la inclinación de las cerillas.

Expectación (sentiment) Expectación (sentiment)

Este es el indicador de la expectación del mercado. Muestra la expectación del mercado (sentiment): alcista o bajista.

BSI Trend Indicator BSI Trend Indicator

Este indicador representa el estado de la tendencia usando el Indicador BSI.