//+------------------------------------------------------------------+
//| HeapSort.mq5 |
//| 2019 - 2021, dimitri pecheritsa |
//| https://www.mql5.com/en/users/dmipec |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| script program start function |
//| heap sort example |
//| sort symbols (items) by color (key). color in mql is an |
//|integer. similarly items can be sorted by any other key, e.g. by |
//|digits |
//+------------------------------------------------------------------+
#include <Mqh\Algorithms\HeapSort\HeapSort.mqh>
#include <Mqh\Algorithms\HeapSort\Functions.mqh>
void OnStart(void)
{
//--- load symbols to the array (items) from the terminal
string symbols[];
SymbolsLoad(symbols);
//--- load colors of the symbols to the keys array
color keys[];
SymbolKeysColor(symbols,keys);
//--- sort symbols by color in accending order with the heap sort
//algorithm
ArraySort(keys,symbols,new CHeapSort<color,string>);
//--- print a table of symbols to check result
SymbolsPrint(symbols);
}
//--------------------------------------------------------------------
// symbol | color name (id) | digits
//--------------------------------------------------------------------
// OGZD.L | clrGold (55295) | 3
// SGGD.L | clrGold (55295) | 3
// MGNT.L | clrGold (55295) | 3
// ATAD.L | clrGold (55295) | 3
// PLZL.L | clrGold (55295) | 3
// FIVE.L | clrGold (55295) | 3
// ROSN.L | clrGold (55295) | 3
// NVTK.L | clrGold (55295) | 3
// SBER.L | clrGold (55295) | 3
// MNOD.L | clrGold (55295) | 3
// SVST.L | clrGold (55295) | 3
// NLMK.L | clrGold (55295) | 3
// LKOD.L | clrGold (55295) | 3
// XAGUSD | clrKhaki (9234160) | 5
// XAUUSD | clrKhaki (9234160) | 3
// LTCUSD | clrMediumSpringGreen (10156544) | 2
// XRPUSD | clrMediumSpringGreen (10156544) | 4
// ETHBTC | clrMediumSpringGreen (10156544) | 5
// BTCEUR | clrMediumSpringGreen (10156544) | 2
// Crypto.ALT | clrMediumSpringGreen (10156544) | 2
// ETHEUR | clrMediumSpringGreen (10156544) | 2
// Crypto.Top | clrMediumSpringGreen (10156544) | 2
// EOSUSD | clrMediumSpringGreen (10156544) | 3
// LTCBTC | clrMediumSpringGreen (10156544) | 5
// BTCUSD | clrMediumSpringGreen (10156544) | 2
// XBTUSD | clrMediumSpringGreen (10156544) | 2
// ETHUSD | clrMediumSpringGreen (10156544) | 2
// DSHUSD | clrMediumSpringGreen (10156544) | 2
// ADBE | clrPaleGoldenrod (11200750) | 2
// PM | clrPaleGoldenrod (11200750) | 2
// MMM | clrPaleGoldenrod (11200750) | 2
// EA | clrPaleGoldenrod (11200750) | 2
// HPE | clrPaleGoldenrod (11200750) | 2
// VZ | clrPaleGoldenrod (11200750) | 2
// MSFT | clrPaleGoldenrod (11200750) | 2
// PFE | clrPaleGoldenrod (11200750) | 2
// GOOGL | clrPaleGoldenrod (11200750) | 2
// JNJ | clrPaleGoldenrod (11200750) | 2
// BA | clrPaleGoldenrod (11200750) | 2
// CAT | clrPaleGoldenrod (11200750) | 2
// NKE | clrPaleGoldenrod (11200750) | 2
// PG | clrPaleGoldenrod (11200750) | 2
// PEP | clrPaleGoldenrod (11200750) | 2
// KO | clrPaleGoldenrod (11200750) | 2
// GM | clrPaleGoldenrod (11200750) | 2
// GE | clrPaleGoldenrod (11200750) | 2
// AAPL | clrPaleGoldenrod (11200750) | 2
// PYPL | clrPaleGoldenrod (11200750) | 2
// LLY | clrPaleGoldenrod (11200750) | 2
// FB | clrPaleGoldenrod (11200750) | 2
// BRK.B | clrPaleGoldenrod (11200750) | 2
// IBM | clrPaleGoldenrod (11200750) | 2
// V | clrPaleGoldenrod (11200750) | 2
// INTC | clrPaleGoldenrod (11200750) | 2
// WFC | clrPaleGoldenrod (11200750) | 2
// C | clrPaleGoldenrod (11200750) | 2
// PRU | clrPaleGoldenrod (11200750) | 2
// ATVI | clrPaleGoldenrod (11200750) | 2
// GS | clrPaleGoldenrod (11200750) | 2
// JPM | clrPaleGoldenrod (11200750) | 2
// NEM | clrPaleGoldenrod (11200750) | 2
// TSLA | clrPaleGoldenrod (11200750) | 2
// CVX | clrPaleGoldenrod (11200750) | 2
// DAL | clrPaleGoldenrod (11200750) | 2
// WMT | clrPaleGoldenrod (11200750) | 2
// EBAY | clrPaleGoldenrod (11200750) | 2
// SBUX | clrPaleGoldenrod (11200750) | 2
// MCD | clrPaleGoldenrod (11200750) | 2
// NFLX | clrPaleGoldenrod (11200750) | 2
// UPS | clrPaleGoldenrod (11200750) | 2
// AMZN | clrPaleGoldenrod (11200750) | 2
// FOXA | clrPaleGoldenrod (11200750) | 2
// NVDA | clrPaleGoldenrod (11200750) | 2
// XOM | clrPaleGoldenrod (11200750) | 2
// DIS | clrPaleGoldenrod (11200750) | 2
// CMCSA | clrPaleGoldenrod (11200750) | 2
// CSCO | clrPaleGoldenrod (11200750) | 2
// BAC | clrPaleGoldenrod (11200750) | 2
// ORCL | clrPaleGoldenrod (11200750) | 2
// .JP225Cash | clrPink (13353215) | 1
// WTI | clrPink (13353215) | 2
// BRENT | clrPink (13353215) | 2
// .USTECHCash | clrPink (13353215) | 1
// .US30Cash | clrPink (13353215) | 1
// .US500Cash | clrPink (13353215) | 1
// .DE30Cash | clrPink (13353215) | 1
// GBXUSD | clrPlum (14524637) | 5
// USDMXN | clrHoneydew (15794160) | 5
// USDTRY | clrHoneydew (15794160) | 5
// USDPLN | clrHoneydew (15794160) | 5
// EURUSD | clrHoneydew (15794160) | 5
// USDJPY | clrHoneydew (15794160) | 3
// USDCHF | clrHoneydew (15794160) | 5
// EURNZD | clrHoneydew (15794160) | 5
// CADJPY | clrHoneydew (15794160) | 3
// USDCAD | clrHoneydew (15794160) | 5
// NZDUSD | clrHoneydew (15794160) | 5
// EURJPY | clrHoneydew (15794160) | 3
// NZDJPY | clrHoneydew (15794160) | 3
// NZDCHF | clrHoneydew (15794160) | 5
// EURGBP | clrHoneydew (15794160) | 5
// CADCHF | clrHoneydew (15794160) | 5
// AUDJPY | clrHoneydew (15794160) | 3
// NZDCAD | clrHoneydew (15794160) | 5
// GBPCHF | clrHoneydew (15794160) | 5
// EURCHF | clrHoneydew (15794160) | 5
// GBPUSD | clrHoneydew (15794160) | 5
// GBPJPY | clrHoneydew (15794160) | 3
// EURCAD | clrHoneydew (15794160) | 5
// AUDUSD | clrHoneydew (15794160) | 5
// GBPNZD | clrHoneydew (15794160) | 5
// GBPCAD | clrHoneydew (15794160) | 5
// EURAUD | clrHoneydew (15794160) | 5
// USDCNH | clrHoneydew (15794160) | 5
// GBPAUD | clrHoneydew (15794160) | 5
// USDRUB | clrHoneydew (15794160) | 4
// USDZAR | clrHoneydew (15794160) | 5
// EURPLN | clrHoneydew (15794160) | 5
// CHFJPY | clrHoneydew (15794160) | 3
// AUDNZD | clrHoneydew (15794160) | 5
// AUDCHF | clrHoneydew (15794160) | 5
// AUDCAD | clrHoneydew (15794160) | 5
//+------------------------------------------------------------------+
Comments