文档详情

《MT4 MT5外汇EA编程教程大全之数组函数》.pdf

发布:2015-10-30约7.94千字共9页下载文档
文本预览下载声明
豆丁论坛 MT4 MT5 外汇 EA 编程教程大全之数组函数(五) 使用数组的一组函数。 数组的最大维数为四维。 每个维数被索引编为从0 至维度-1。 事实上,第一维数组的50 个,在调用时第一个数组显示为[0], 最后一个数组显示为[49]。 使用这些函数(除那些改变定量和定性的数组外) 能够预定义时间系列 Time[], Open[], High[], Low[], Close[], Volume[] ArrayBsearch ArrayCopy ArrayCopyRates ArrayCopySeries ArrayDimension ArrayGetAsSeries ArrayInitialize ArrayIsSeries ArrayMaximum ArrayMinimum ArrayRange ArrayResize ArraySetAsSeries ArraySize ArraySort int ArrayBsearch( double array[], double value, void count, void start, void direction) 如果没有发现事件,值会返回到第一个维度的数组或者最近的一个数组。 此函数不能用在字符型或连续数字的数组上(除打开柱的连续数组)。 注解: 双元查找只能够存储数。存储数字数组使用ArraySort() 函数。 参量: array[] - 需要搜索的数组. value - 将要搜索的值 count - 搜索的数量,默认搜索所有的数组. start - 搜索的开始点,默认从头开始. direction - 搜索的方向: MODE_ASCEND 顺序搜索, 易信外汇,出金入金迅速,信誉商交易,赠金高达 2000 美元,官方注册地址 /_4s7Z0LTD52PFWTQbSAo2c2Nd7ZgqdRLk/1/ 豆丁论坛 MODE_DESCEND 倒序搜索. 示例: datetime daytimes[]; int shift=10,dayshift; // 全部Time[] 数组被排列在后面的形式 ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1); if(Time[shift]=daytimes[0]) dayshift=0; else { dayshift=ArrayBsearch(daytimes,Time[shift],WHOLE_ARRAY,0,MODE_DESCEND); if(Period()PERIOD_D1) dayshift++; } Print(TimeToStr(Time[shift]), corresponds to ,dayshift, day bar opened at , TimeToStr(daytimes[dayshift])); ArrayCopy int ArrayCopy( void dest[], object source[], void start_dest, void start_source, void count) 复制一个数组到另外一个数组。只有double[], int[], datetime[], color[], 和bool[] 这些类 型的数组可以被复制。 返回复制元素总量。 参量: dest[] - 目标数组。 source[] - 源数组 。 start_dest - 从目标数组的第几位开始写入,默认为0 。 start_source - 从源数组的第几位开始读取,默认为0 。 count - 读取多少位的数组 。默认值为WHOLE_ARRAY 常数。 示例: double array1[][6]; double array2[10][6]; 易信外汇,出金入金迅速,信誉商交易,赠金高达 2000 美元,官方注册地址 /_4s7Z0LTD52PFWTQbSAo2c2Nd7ZgqdRLk/1/ 豆丁论坛 // 数组2 被相同数据添满 ArrayCopyRates(array1); ArrayCopy(array2,array1,0,0,60); // 现在数组2 的前10 个柱来自历史(前 10 个柱包括索引[Bars-1]) ArrayCopy(array2,array1,0,Bars*6 -60,60); // 现在数组2 的后1
显示全部
相似文档