Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 890
- Ranking:
- Publicado:
- 2014.01.15 09:04
- Actualizado:
- 2014.02.28 09:14
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Descripción
La clase CArrayRing256 es la versión simplificada del buffer circular CArrayRing , pero es más rápido y permite organizar la mini serie, indicador minibuffers, buffers de tamaño corto para almacenar datos intermedios corrientes dentro del EA o del indicador.
Simplificación basada en la propiedad del uchar-variable, que se utiliza como el índice de la matriz. Por ejemplo, en el código
double array[UCHAR_MAX+1]; // datos del buffer circular uchar index=0; // índice del elemento del buffer while(!IsStopped()) { array[++index]; // ir al siguiente elemento del buffer ... }
el índice de matriz siempre toma valor de 0 a 255 y nunca ir más allá del rango de la dimensión de la matriz. Permite eliminar toda revisión de los métodos asociados con la posible salida del índice más allá de la salida de la matriz al simplificar los métodos por sí mismos y aumentar la tasa de rendimiento. Pero el tamaño del búfer será siempre constante y tiene el tamaño de 256 elementos. Para muchas de las tareas es una alternativa aceptable a la clase universal de CArrayRing a cambio de un aumento de la tasa de trabajo.
сlass CArrayRing256
Título
#include <IncOnRingBuffer\CArrayRing256.mqh>
El archivo de clase CArrayRing256.mqh debe colocarse en la carpeta IncOnRingBuffer que es necesario establecer en MQL5\Include\.
Métodos de la clase
//--- método de inicio del buffer: void Init( double volue=EMPTY_VALUE // valor para búferes de ubicación vacía );
//--- método para añadir un elemento nuevo en el búfer: void Add( const double element // valor de elemento añadido );
//--- el método vuelve a escribir el valor de los elementos con el conjunto de índices: void Update( // si error devuelve falso, si extitoso - verdadero const double element, // nuevo valor del elemento const uchar index=0 // índice del elemento );
//--- el método devuelve el valor del elemento con el conjunto de índices: double At( // returns the value of the element const uchar index // índice del elemento ) const;
//--- método devuelve el valor de la última escritura en el elemento del buffer: double Last() const;
//--- método sobrescribe último valor del elemento en el buffer: void Last( const double element // new value of the element );
//--- el método devuelve el tamaño del buffer circular: int Size();
Nota:
- el tamaño del búfer circualr es siempre constante e igual a 256 elementos
- en la realización del búfer circular dada la indexación es tomada como timeseries, es decir, lo opuesto a lo habitual
Ejemplos
Uso de esta clase es similar a CArrayRing . Hay un par de diferencias:
- El método Init() es utilizado para el inicio del buffer por el valor definitivo;
- El método Resize() está ausente mientras el tamaño del búfer es siempre constante.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1379

El indicador Fractales X-barras permite definir el número de barras a la izquierda y la derecha del fractal. Es bueno como para local, pero para extremos globales

Este sistema de trading se basa en las señales que se obtienen del indicador BBSqueeze.

Sistema de trading basado en el cambio de dirección de una curva de Bézier universal.

Asesor Experto basado en los siguientes indicadores: Laguerre, CCI y MA.