//+------------------------------------------------------------------+
//| SearchArray.mq4 |
//| cubesteak |
//| http://www.cubesteak.net |
//+------------------------------------------------------------------+
#property copyright "cubesteak"
#property link "http://www.cubesteak.net"
//////////////////////////////////////////////////////////////////////
// Function: SearchArray(ArrayToSearch, ValueToSearch,NumToCount,StartFrom,Dir)
// Return Values:
// Positive Number = position of value
// -1 = not found
//////////////////////////////////////////////////////////////////////
int SearchArray(double ArrayToSearch[],double ValueToSearch, int NumToCount=WHOLE_ARRAY, int StartFrom=0,int Dir=MODE_ASCEND)
{
Print ("searching for "+ValueToSearch+" counting "+NumToCount+" starting from "+StartFrom+" in Dir "+Dir);
int LastIndexNo = ArraySize(ArrayToSearch)-1;
ArraySort(ArrayToSearch,NumToCount,StartFrom,Dir);
int index = ArrayBsearch(ArrayToSearch,ValueToSearch,NumToCount,StartFrom,Dir); // get the position
Print ("This is the Index returned by bsearch: "+index);
if (ArrayToSearch[index] == ValueToSearch) return (index); //checking for actual match and not "closest index"
else return (-1);
}
Comments