forked from rosh/MQL5Book
47 lines
1.6 KiB
MQL5
47 lines
1.6 KiB
MQL5
//+------------------------------------------------------------------+
| |
//| ArrayMaxMin.mq5 |
| |
//| Copyright 2021, MetaQuotes Ltd. |
| |
//| https://www.mql5.com |
| |
//+------------------------------------------------------------------+
| |
| |
#define PRTS(A) Print(#A, "=", (string)(A) + " / status:" + (string)GetLastError())
| |
#define LIMIT 10
| |
| |
//+------------------------------------------------------------------+
| |
//| Script program start function |
| |
//+------------------------------------------------------------------+
| |
void OnStart()
| |
{
| |
// generate random data
| |
int array[];
| |
ArrayResize(array, LIMIT);
| |
| |
for(int i = 0; i < LIMIT; ++i)
| |
{
| |
array[i] = rand();
| |
}
| |
| |
ArrayPrint(array);
| |
// by default new array is not a timeserie
| |
PRTS(ArrayMaximum(array));
| |
PRTS(ArrayMinimum(array));
| |
// switch timeseries mode on
| |
PRTS(ArraySetAsSeries(array, true));
| |
PRTS(ArrayMaximum(array));
| |
PRTS(ArrayMinimum(array));
| |
| |
/*
| |
example output (will differ on every run due to randomization)
| |
22242 5909 21570 5850 18026 24740 10852 2631 24549 14635
| |
ArrayMaximum(array)=5 / status:0
| |
ArrayMinimum(array)=7 / status:0
| |
ArraySetAsSeries(array,true)=true / status:0
| |
ArrayMaximum(array)=4 / status:0
| |
ArrayMinimum(array)=2 / status:0
| |
*/
| |
| |
const int zeroone[] = {1, 1, 1, 2, 2, 2};
| |
PRTS(ArrayMaximum(zeroone)); // 3
| |
PRTS(ArrayMinimum(zeroone)); // 0
| |
}
| |
//+------------------------------------------------------------------+
|