分享

分时区间的成交量(一)

 cxm54666 2022-08-03 发布于吉林

做算法的最好方式,就是遍寻评论区里网友为我留下的一道道作业题,请看:

文章图片1

网友需求---我的作业

网友的需求是,如何取得开盘后10分钟的成交量总和。

非常简单,无需太用力,因为有了昨天的文章《获取09:33至09:45内的最高价》里的思路与函数罗列,一切变得轻而易举。

思路步骤

  1. 引用上文中的代码,首先限定时间区间为09:30~09:40;

  2. 取得上述时间区间内的成交量;

  3. 计算上述时间区间内的成交量的总和;

  4. 如果是进行副图标注,进行柱线绘制;

  5. 如果是引用这一成交量的总和的处理方法。

算法建立

1. 首先限定时间区间为09:30~09:40:

RANGE(TIME2,092959,094101)

2. 取得上述时间区间内的成交量:

区间V:=IF(RANGE(TIME2,092959,094101),VOL,DRAWNULL)

3. 计算上述时间区间内的成交量的总和:

SUM(区间V,10)

4. 如果是进行副图标注,进行柱线绘制:

STICKLINE(CURRBARSCOUNT=FROMOPEN+1,0,CONST(REF(SUM(区间V,10),FROMOPEN-10)),3,0)COLORMAGENTA

在这里,输出柱线的位置可以任意定义,本例的输出位置取位在上一个交易日的最后1分钟“FROMOPEN+1”处。

另外,REF函数的应用是必须的,起到数据的时间位置“固化”、“特指”的作用。

5. 如果是引用这一成交量的总和,只需要进行赋值即可,如下:

区间V和:= CONST(REF(SUM(区间V,10),FROMOPEN-10));

在任何的所需要的地方,只需要引用这一变量的名称“区间V和”即可。

副图指标的完整代码

{1分钟周期 日内9:30-9:40成交量总和的副图标注算法}

VOLUME:VOL,VOLSTICK;

STICKLINE(CURRBARSCOUNT=FROMOPEN+1,0,CONST(REF(SUM(IF(RANGE(TIME2,092959,094101),VOL,DRAWNULL),10),FROMOPEN-10)),3,0),COLORMAGENTA;

引用这一成交量总和

在这里起个变量的名字即可:= CONST(REF(SUM(IF(RANGE(TIME2,092959,094101),VOL,DRAWNULL),10),FROMOPEN-10));

赋值完成之后,在所需之处只要引用所起的这个变量名字即可。

计算创造价值,分享助你成功。文中代码均可运行。

江丰鱼的文章只在今日头条首发;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多