MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal

Source code library - Expert Advisors, Indicators and Scripts

Subscribe to signal
Alfa 2758596
15.38%, 5 664.78 USD
Jeremy Scott - Successful MQL5 Market Seller Jeremy Scott - Successful MQL5 Market Seller ParMA Indicator
ParMA
Author: GODZILLA
While You Sleep StrategyWhile You Sleep Strategy Try product
While You Sleep Strategy
Author: figurelli
Screenshot
AUDJPY, M10
Demo
To post a new code, please log in or register

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
sSortTest

sSortTest [ru]

Integer

Downloads:
289
Views:
1706
Rating:
votes: 17
Files:
\MQL5\Scripts\
ssorttest.mq5 (23.35 KB)view

Description:

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: http://www.mql5.com/ru/code/904