InsertionSort

0 Views
0 Downloads
0 Favorites
InsertionSort
ÿþ//+------------------------------------------------------------------+

//|                                                InsertionSort.mq5 |

//|                                    2019-2021, dimitri pecheritsa |

//|                                         mql5.com/en/users/dmipec |

//+------------------------------------------------------------------+

//| script | insertion sort example. sort deals by type              |

//+------------------------------------------------------------------+

#include <Mqh\Algorithms\SortInsertion\InsertionSort.mqh>

#include <Mqh\Algorithms\SortInsertion\Functions.mqh>

//+------------------------------------------------------------------+

//| on start | script program start function                         |

//+------------------------------------------------------------------+

void OnStart(void)

  {

//--- load deals from the terminal for some arbitrary date range in

//the past. these are the items array for the sorter

   ulong deals[];

   DealsLoad(deals,D'2020.12.21',D'2020.12.31');

//--- now create keys array with the deal type values. enumerations

//are integers

   int type[];

   DealsKeyType(deals,type);

//--- sort with insertion sort algorithm

   ArraySort(type,deals,new CInsertionSort<int,ulong>,true);

//--- check the result of sorting by printing a table of symbols

   DealsPrint(deals);

  }

//--------------------------------------------------------------------

//                 deal |        symbol |          type

//--------------------------------------------------------------------

//            169296305 |        BTCUSD | DEAL_TYPE_BUY

//            169300850 |        BTCUSD | DEAL_TYPE_BUY

//            169301072 |        BTCUSD | DEAL_TYPE_BUY

//            169381662 |        BTCUSD | DEAL_TYPE_BUY

//            169400687 |        BTCUSD | DEAL_TYPE_BUY

//            169406060 |        BTCUSD | DEAL_TYPE_BUY

//            169500503 |     .US30Cash | DEAL_TYPE_BUY

//            169500799 |        EURUSD | DEAL_TYPE_BUY

//            169567749 |          TSLA | DEAL_TYPE_BUY

//            169567752 |         BRENT | DEAL_TYPE_BUY

//            169567757 |          TSLA | DEAL_TYPE_BUY

//            169567759 |         BRENT | DEAL_TYPE_BUY

//            169567764 |          TSLA | DEAL_TYPE_BUY

//            169567768 |         BRENT | DEAL_TYPE_BUY

//            169567777 |          TSLA | DEAL_TYPE_BUY

//            169567781 |         BRENT | DEAL_TYPE_BUY

//            169567811 |        EURUSD | DEAL_TYPE_BUY

//            169567820 |        BTCUSD | DEAL_TYPE_BUY

//            169567821 |     .US30Cash | DEAL_TYPE_BUY

//            169567825 |        BTCUSD | DEAL_TYPE_BUY

//            169567826 |     .US30Cash | DEAL_TYPE_BUY

//            169567828 |        BTCUSD | DEAL_TYPE_BUY

//            169567833 |        BTCUSD | DEAL_TYPE_BUY

//            169567837 |        BTCUSD | DEAL_TYPE_BUY

//            169567838 |     .US30Cash | DEAL_TYPE_BUY

//            169567839 |        BTCUSD | DEAL_TYPE_BUY

//            169569207 |     .US30Cash | DEAL_TYPE_BUY

//            169301176 |        BTCUSD | DEAL_TYPE_SELL

//            169519767 |        USDRUB | DEAL_TYPE_SELL

//            169525883 |        USDRUB | DEAL_TYPE_SELL

//            169567751 |        EURUSD | DEAL_TYPE_SELL

//            169567753 |        BTCUSD | DEAL_TYPE_SELL

//            169567755 |     .US30Cash | DEAL_TYPE_SELL

//            169567756 |        USDRUB | DEAL_TYPE_SELL

//            169567758 |        EURUSD | DEAL_TYPE_SELL

//            169567761 |        BTCUSD | DEAL_TYPE_SELL

//            169567762 |     .US30Cash | DEAL_TYPE_SELL

//            169567763 |        USDRUB | DEAL_TYPE_SELL

//            169567765 |        EURUSD | DEAL_TYPE_SELL

//            169567769 |        BTCUSD | DEAL_TYPE_SELL

//            169567771 |     .US30Cash | DEAL_TYPE_SELL

//            169567773 |        USDRUB | DEAL_TYPE_SELL

//            169567778 |        EURUSD | DEAL_TYPE_SELL

//            169567782 |        BTCUSD | DEAL_TYPE_SELL

//            169567788 |     .US30Cash | DEAL_TYPE_SELL

//            169567792 |        USDRUB | DEAL_TYPE_SELL

//            169567808 |          TSLA | DEAL_TYPE_SELL

//            169567817 |         BRENT | DEAL_TYPE_SELL

//            169567824 |          TSLA | DEAL_TYPE_SELL

//            169567841 |        BTCUSD | DEAL_TYPE_SELL

//            169567896 |         BRENT | DEAL_TYPE_SELL

//            169568039 |        USDRUB | DEAL_TYPE_SELL

//--------------------------------------------------------------------

Comments