s_Sort





//+------------------------------------------------------------------+
//|                                                       s_Sort.mq4 |
//|                                                                  |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   double PriceArray[];//áóäåì ñîðòèðîâàòü ýòîò ìàññèâ
   ArrayResize(PriceArray,10);//ìàññèâ áóäåò ñîñòîÿòü èç 10-è ýëåìåíòîâ

   //çàïîëíèì ìàññèâ çíà÷åíèÿ öåí çàêðûòèÿ ñ ïîñëåäíèõ 10 áàðîâ
   for(int i=0;i<ArraySize(PriceArray);i++){
       PriceArray[i]=Close[i];  
   }
   
   //èìååì íåñîðòèðîâàíûé ìàññèâ PriceArray[]
   
   //âûâîäèì â æóðíàë íåñîðòèðîâàííûé ìàññèâ
   Print("Íåñîðòèðîâàííûé:");
   for(i=0;i<ArraySize(PriceArray);i++){
      Print(i,"-",PriceArray[i]);
   }   
   

   //ñîçäàäèì ìàññèâ äëÿ èíäåêñòîâ
   int IndexArray[];
   
   ArrayResize(IndexArray,ArraySize(PriceArray));//ìàññèâ äëÿ èíäåêñîâ äîëæåí ñîñòîÿòü èç òàêîãî æå êîëè÷åñòâà ýëåìåíòîâ êàê è ñîðòèðóåìûé ìàññèâ

   //çàïîëíÿåì ìàññèâ äëÿ èíäåêñîâ èíäåêñàìè
   
   for(i=0;i<ArraySize(IndexArray);i++){
       IndexArray[i]=i;  
   }   

   //äâå âðåìåííûå ïåðåìåííûõ, êîòîðûå ïîòðåáóþòñÿ ïðè îáìåíå çíà÷åíèé ñîðòèðóåìûõ ìàññèâîâ
   double tmpPriceArray;
   int tmpIndexArray;

   //ñîðòèðóåì
   
   for(i=0;i<ArraySize(PriceArray);i++){
      for(int j=0;j<ArraySize(PriceArray);j++){
         //äëÿ ñîðòèðîâêè â 
         //îáðàòíîì ïîðÿäêå 
         // ïîñòàâèòü   ">" 
         if(ND(PriceArray[j])<ND(PriceArray[i])){
            tmpPriceArray=PriceArray[j];
            tmpIndexArray=IndexArray[j];
            PriceArray[j]=PriceArray[i];
            IndexArray[j]=IndexArray[i];
            PriceArray[i]=tmpPriceArray;
            IndexArray[i]=tmpIndexArray;            
         }
      }   
   }
  
   //âûâîäèì â æóðíàë ñîðòèðîâàííûé ìàññèâ
   Print("Ñîðòèðîâàííûé:");
   for(i=0;i<ArraySize(PriceArray);i++){
      Print(IndexArray[i],"-",PriceArray[i]);
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

double ND(double v){
   return(NormalizeDouble(v,Digits));
}



Sample





Analysis



Market Information Used:

Series array that contains close prices for each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: