0 Views
0 Downloads
0 Favorites
HeapSort
//+------------------------------------------------------------------+
//|                                                     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