
 
//+------------------------------------------------------------------+
//|                                                sorta sorting.mq4 |
//|                                                           .....h |
//|                                                    hayseedfx.com |
//+------------------------------------------------------------------+
#property copyright ".....h"
#property link      "hayseedfx.com"
#property indicator_chart_window
       string symbol;
 
       string symlist[26]         = {"USDCAD", "USDCHF", "USDJPY", "NZDJPY", "AUDJPY", "GBPJPY", "CADJPY", "CHFJPY", "AUDCHF", "AUDCAD", "GBPCHF", "NZDCHF",
 
                                     "AUDNZD", "EURCHF", "EURAUD", "EURCAD", "EURGBP", "EURJPY", "EURNZD", "GBPCAD", "GBPNZD", "GBPAUD", "EURUSD", "GBPUSD", "AUDUSD", "NZDUSD"};                           
 
extern int    horizontal          =       10;                                               
extern int    vertical            =       50;  
 
       double data[26][26];  
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//---- 
 
      for(int j=0; j<26; j++)                                  // fill array
        {
        symbol     = symlist[j];
 
        data[j][0] = NormalizeDouble(iRSI(symbol,0,5,0,0),2);
        data[j][1] = j;
        data[j][2] = iVolume(symbol,0,0);
        data[j][3] = iADX(symbol,1440,10,PRICE_HIGH,MODE_PLUSDI,0) > iADX(symbol,1440,10,PRICE_HIGH,MODE_MINUSDI,0);
        data[j][4] = pivot(symbol);
 
        }
 
//---          
//---
      ArraySort(data,WHOLE_ARRAY,0,MODE_DESCEND);              // sort array
 
      for(int i = 0; i < 26; i++)                              // prepare display
       {       
       symbol         = symlist[i];
 
       color aclr     = Red;
       int   arrow    = 233;
 
 
       int n = data[i][1];
 
       if(data[i][4] == 1) {arrow = 233; aclr = Blue;} else {arrow = 234; aclr = Red;}
 
       Display("sym" + i,  horizontal+100,vertical +(i*26));
       ObjectSetText("sym" + i, symlist[n],12, "Verdana",aclr);
 
       Display("rsi" + i,  horizontal+200,vertical +(i*26));       
       ObjectSetText("rsi" + i,DoubleToStr(data[i][0],2),12, "Verdana",Blue);
 
       Display("volume" + i,  horizontal+300,vertical +(i*26));       
       ObjectSetText("volume" + i,DoubleToStr(data[i][2],0),12, "Verdana",Blue);
 
       Display("adx" + i,  horizontal+400,vertical +(i*26));
       ObjectSetText("adx" + i,DoubleToStr(data[i][3],0),12, "Verdana",Blue);       
 
       Display("pivot" + i,  horizontal+500,vertical +(i*26));
       ObjectSetText("pivot" + i,CharToStr(arrow),12, "Wingdings",aclr); 
 
       }     
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
 int pivot(string sym)
      {
      int up;
 
       if(MarketInfo(sym,MODE_ASK) > (iHigh(sym,1440,1)+iLow(sym,1440,1)+iClose(sym,1440,1))/3) {up = 1;}
       else
       {up = 0;}
 
      return(up);
      }
 
//------
//------
void Display(string name, int x, int y)
   {
   ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
   ObjectSet(name, OBJPROP_CORNER, 0);
   ObjectSet(name, OBJPROP_XDISTANCE, x);
   ObjectSet(name, OBJPROP_YDISTANCE, y);
   ObjectSet(name, OBJPROP_BACK, FALSE);
   }