s Sort Test
Info
The s Sort Test is a Script for MetaTrader 5 that the script contains several sorting methods for sorting of double[] array:;; ; ; sorting using and functions. 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[]).
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Script works exclusively on MetaTrader 5 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL5/Scripts folder via File ? Open Data Folder in MetaTrader 5.
How to Install and Use s Sort Test
1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.
2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.
3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.
4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."
Frequently Asked Questions
Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.
Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.
Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.
What this tool does
The script contains several sorting methods for sorting of double[] array:;; ; ; sorting using and functions.
Typical Use Case
This Script excels in automated trading and technical analysis on MetaTrader 5.
Compatible Platform & Setup
This Script works on MetaTrader 5. Place the file in the MQL5/Scripts folder and restart the terminal.
Description & Settings
Related: Open CL Test - another powerful script for MetaTrader 5 traders.
The script contains several sorting methods for sorting of double[] array:
;
;
;
;
sorting using and functions.
Also recommended: Schnick - Support Vector Machine Learning Tool Tester - similar script with strong performance on MetaTrader 5.
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
The fastest sort method is Hoar sort (Quick sort), but it's recursive and needs a careful use.
You may also like: Visual Аnalysis After Testing - excellent alternative for script users on MetaTrader 5.
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.