Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

2012.06.04 10:41
Scripts

sSortTest - script for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

Views:
3359
Rating:
votes: 37
ssorttest.mq5 (23.35 KB)view

The script contains several sorting methods for sorting of double[] array:

There are 2 functions - ascending (Up) and descending (Dn) sort:

  • 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[]).

The script has several auxiliary functions:

  • Check(double & aAr[]) - checks if array is already sorted (ascending). If array is not sorted, it prints "Error".
  • ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - prints array as a line. Arguments: double & aAr[] - array to print, int aDigits - precision (digits), string aHeader - additional string at the start of the line. This function may be useful to check the changes of the array during the sorting process.
  • ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - prints array as a column. Arguments: double & aAr[] - array to print, int aDigits - precision (digits),  string aHeader - additional string at the start of the line.

Sorting algorithms performance:

  • Hoare - 8 ms;
  • Shell - 78 ms;
  • SelectFst - 126 ms;
  • Selection - 582 ms;
  • Insertion - 702 ms;
  • Bubble - 1558 ms;

Fig. 1. Sort algorithms performance

Fig. 1. Sort algorithms performance

The fastest sort method is Hoar sort (Quick sort), but it's recursive and needs a careful use.

Translated from Russian by MetaQuotes Software Corp.
Original code: https://www.mql5.com/ru/code/904

Sampler Sampler

The indicator calculates perfect market entry signals, which can be used for neural network training.

Pearson correlation indicator Pearson correlation indicator

Pearson correlation indicator shows the correlation between symbols.

EMA_STD_VA EMA_STD_VA

Adaptive Exponentially Smoothed Moving Average, based on StdDev indicator.

EMA_ATR_VA EMA_ATR_VA

Advaptive Exponential Moving Average - ATR Volatility Adjusted by Jose Silva.