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
sSortTest - script para MetaTrader 5
- Visualizaciones:
- 919
- Ranking:
- Publicado:
- 2014.01.14 12:43
- Actualizado:
- 2016.11.22 07:33
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
El script contiene varios métodos de clasificación para ordenar una matriz ( tabla ) de tipo double[]:
- Método de burbuja (Bubble sort);
- Ordenación por selección;
- Ordenación por inserción;
- Ordenación de Shell (Shell sort);
- Quicksort (ordenación rápida);
- ordenar usando las funciones ArrayMinimum() y ArrayMaximum().
Hay 2 funciones de ordenación por método, la ascendente (Up) y la descendente (Dn):
- SortBubbleUp(double & aAr[]);
- SortBubbleDn(double & aAr[]);
- SortSelectUp(double & aAr[]);
- SortSelectDn(double & aAr[]);
- SortInsertUp(double & aAr[]);
- SortInsertDn(double & aAr[]);
- SortShellUp(double & aAr[]);
- SortShellDn(double & aAr[]);
- SortHoareUp(double & aAr[]);
- SortHoareDn(double & aAr[]);
- SortSelectUpFst(double & aAr[]);
- SortSelectDnFst(double & aAr[]).
El script utiliza varias funciones auxiliares:
- Check(double & aAr[]) - comprueba si la matriz ya está ordenada (ascendente). Si la matriz no está ordenada, muestra "Error".
- ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - muestra la matriz en una línea. Parámetros: double & aAr[] - matriz a mostrar, int aDigits - precisión (dígitos), string aHeader - cabecera adicional al inicio de cada línea. Esta función puede ser útil para comprobar los cambios en la matriz durante el proceso de clasificación.
- ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - muestra la matriz como una columna. Parámetros: double & aAr[] - matriz a mostrar, int aDigits - precisión (dígitos), string aHeader - cabecera adicional al inicio de cada línea.
Rendimiento de los algoritmos de ordenación:
- Quicksort (Hoare) - 8 ms;
- Shell - 78 ms;
- Con funciones (SelectFst) - 126 ms;
- Selección (Selection) - 582 ms;
- Inserción (Insertion) - 702 ms;
- Burbuja (Bubble) - 1558 ms;
Fig. 1. Rendimiento de algoritmos de ordenación
El método más rápido de clasificación es Quicksort (ordenación rápida), pero es recursivo y debe utilizarse con cuidado.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/904
Media Móvil Exponencial Adaptativa Suavizada, basada en el indicador StdDev.
EMA_ATR_VAAjuste de Media Móvil Exponencial Adaptable con Volatilidad ATR por Jose Silva.
El indicador calcula señales perfectas de entrada en el mercado, que pueden ser utilizadas para la formación de redes neuronales.
Indicador de correlación de PearsonEl indicador de correlación de Pearson muestra la correlación entre símbolos.