一身转战三千里,一剑曾当百万师。这篇文章主要讲述量化投资_Multicharts数组操作函数_append()追加函数(自定义)相关的知识,希望能为你提供帮助。
1. Multicharts中关于数组的操作比较麻烦,而且当中所谓的动态数组的定义并不是像其他语言那种的概念。因此要对数组进行元素“”追加“”的话,需要重新更改数组的索引,然后再最后一个位置添加value。这样操作是比较繁琐而且不清晰的。
2. 但是比如像python语言中,列表的操作,可以直接采用像 变量.appen(值),这样的方式进行元素的添加,这样非常的方便。
3. append函数,本人把Multicharts中关于数组元素的追加进行封装操作。
4. 原先的设计:采用value1简单的变量进行计数操作,更改Multicharts中数组的索引的更改,但是用简单变量的话,根据Multicharts的图表运行逻辑,这个函数运行不运行,这个简单变量都会进行计数操作。根据Multicharts的运行机制,把这个计数并且勇于更改数组索引的操作,更改为也用几个简单数组来进行计数,这样使得跟图表的运用逻辑进行隔离,符合条件时才进行计数——加总——更改数组长度——赋值操作。
5. 函数的调用格式:
value1 = append(array,value);
value1 返回当前数组的长度
array:原数组变量名
value:需要追加的值
array:返回追加后的新数组(由于Multicharts函数的格式要求,这里采用的是引用参数,也就是说通过上面的操作,array原数组将变成追加元素后的新数组)
6. 演示:
文章图片
7:公开代码:
//append函数:仿制其他编程语言的数组添加函数。 //解释:比如在Python语言中,x.append(value), x是一个列表,这样可以通过面向对象的方式,追加列 //表的最后一个值。在MC语言中没有类似的函数,这里制作一个这样的函数。原先的计数采用value1的序列 //计数,但是采用这种方式,不管函数运行不运行,都会进行加减操作;计数改为用数组计数,这样复合 //条件,用数组计数,使数组计数同图表中采用序列变量的形式进行隔离操作。 //用法:value1 = append(array,value); //返回值: //value1:表示当前数组的索引长度 //array:需要添加的原数组 //value:需要添加的数值 //备注:array是一个引用参数做为传值操作,使用这个函数后,array引用参数将返回追加元素后的新数组(数组更新操作),这个函数是一个一维,添加数值的操作函数,其他需要添加或者要改成多维数组添加方式,可以照此进行修改
inputs:
arr[MaxSize]( numericarrayref),
input_value(NumericSimple);
variables:
value1(0);
array:
count0[](0),
count[1](0);
if count[1] = 0 then begin
arr[count[0]] = Close;
count[1] = count[1] + 1;
end;
if count[1] > 0 and count0[0] < > 0 then begin
count[1] = count[1];
array_setmaxindex(arr,count[1]);
arr[count[1]] = Close;
count[1] = count[1] + 1;
end;
count0[0] = count0[0] + 1;
append = array_getmaxindex(arr);
//========================转发时请注明出处======================//
【量化投资_Multicharts数组操作函数_append()追加函数(自定义)】
推荐阅读
- 理解Android编译命令
- MPAndroidChart柱子上的文字的颜色dataSet.setValueTextColors
- elasticsearch 7.x 及以上 mapper_parsing_exception Root mapping definition has unsupported parameters(示例
- U盘安装xp系统,图文详细说明共享如何安装
- u盘打开不了怎样办,图文详细说明如何浏览4种处理办法
- 无法识别usb设备怎样办?图文详细说明处理办法
- u盘如何设置密码,图文详细说明如何设置
- 台式机显卡怎样安装?图文详细说明安装办法
- 安装系统蓝屏处理推荐