在本文中,小弟向各位介紹在MQL5中的 ArrayMinimum 與 ArrayMaximum 二個函數
ArrayMinimum 函數
主要功能為搜索一維陣列中,其最小元素。
ArrayMaximum 函數
主要功能為搜索一維陣列中,其最大元素。
參數:陣列名稱(在此範例中為my_array)、位置、數量。
範例:則為二分搜尋法
要尋找的數字為7.99(第7個陣列元素)
範例程式碼如下:
輸出結果如下
#property copyright "Copyright 2012, http://tol64.blogspot.com"
#property link "http://tol64.blogspot.com"
#property description "email: hello.tol64@gmail.com"
void OnStart()
{
double my_array[8]={1.33,2.44,3.55,4.66,5.77,6.88,7.99,8.11};
int max,min,mid;
double search=7;
//要尋找的數字為7.99
min=ArrayMinimum(my_array,0,WHOLE_ARRAY);
//取得陣列大小之最小值
max=ArrayMaximum(my_array,0,WHOLE_ARRAY);
//取得取得陣列大小之最大值
//WHOLE_ARRAY代表很多的項目剩下,直到數組未尾
mid=(min+max)/2;
//取得中間元素位置
for(int i=0; i<=7; i++)
{
if (my_array[mid] < search)
{
mid=mid+1;
}
else if (my_array[mid] < search)
{
mid=mid-1;
}
}
printf("找到你要搜尋的數字了:"+my_array[mid]);
}