欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 自定义函数CU_MA1的坑 -CLOSE数组数据长度与Formula.DataSize-1不一定相等

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3669人关注过本帖树形打印复制链接

主题:自定义函数CU_MA1的坑 -CLOSE数组数据长度与Formula.DataSize-1不一定相等

帅哥哟,离线,有人找我吗?
wenit
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:5 积分:3 威望:0 精华:0 注册:2013/2/27 10:13:13
自定义函数CU_MA1的坑 -CLOSE数组数据长度与Formula.DataSize-1不一定相等  发帖心情 Post By:2017/3/22 11:08:53 [只看该作者]

系统自带自定义函数
'计算序列模式下指定周期长度的收盘价均价
Function CU_MA1(Formula,CLOSE,CYC)
   CU_MA1=0

    '防止公式逐周期模式时调用
    If Formula.WorkMode = 0 Then
        Exit Function 
    End If

    'CLOSE数组数据长度一定会与Formula.DataSize-1相等
    DataCount = UBound(CLOSE)
    If DataCount <> Formula.DataSize-1 Then
        Exit Function
    End If

    '定义一个计算返回的数组
    Dim ResultMa
    Redim ResultMa(DataCount)

    For i = Cyc-1 To Formula.DataSize-1
        Count = 0
        For k = i-(Cyc-1) To i
            Count = Count + CLOSE(k)
        Next
        ResultMa(i) = Count / Cyc
    Next

    '返回一个计算完毕的均线数组
    CU_MA1 = ResultMa
End Function
公式调用
ma1:CU_MA1(c,5);

发现刷新K线过程中,ma1偶然输出为0的横线,理论上CLOSE数组数据长度一定会与Formula.DataSize-1相等,但实际可能不想等,具体原因在哪里偶也不清楚;目前我的解决办法是不使用Formula.DataSize

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2017/3/22 13:02:34 [只看该作者]

你是通过输出为0就判断是因为CLOSE数组数据长度一定会与Formula.DataSize-1这个问题的吗?

那你的判断有点武断了,建议你采取日志记录等一些方案进一步明确一下问题。



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
wenit
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:5 积分:3 威望:0 精华:0 注册:2013/2/27 10:13:13
  发帖心情 Post By:2017/3/22 16:11:52 [只看该作者]


我是写其他自定义函数发现这个问题的,通过日志记录排查了,为什么会发生这样的问题,是我个人电脑的环境的问题还是系统的问题就不得而知了。这里举CU_MA1原版函数这个例子只是故障重现而已。


静态的一般没问题,开盘时间刷新几十根K线故障就会偶然性重现


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2017/3/22 16:50:14 [只看该作者]

 'CLOSE数组数据长度一定会与Formula.DataSize-1相等
    DataCount = UBound(CLOSE)
    If DataCount <> Formula.DataSize-1 Then
       Application.msgout DataCount &"--++--"&Formula.DataSize-1
        Exit Function
    End If
建议你将上述加了日志的代码放进去,如果出现不一致情况,将打印的日志发给我们这边看一下


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
wenit
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:5 积分:3 威望:0 精华:0 注册:2013/2/27 10:13:13
  发帖心情 Post By:2017/3/23 9:29:24 [只看该作者]

只加了日志代码,不知道如何上传图片
494--++--506
494--++--506
494--++--506
495--++--507
495--++--507
495--++--507
495--++--507
495--++--507
495--++--507
496--++--508
496--++--508
496--++--508
496--++--508
496--++--508
496--++--508
496--++--508
497--++--509
497--++--509
497--++--509
497--++--509
497--++--509
497--++--509
498--++--510
498--++--510
498--++--510
498--++--510
498--++--510
498--++--510
498--++--510
499--++--511
499--++--511
499--++--511
499--++--511
499--++--511
499--++--511
499--++--511
500--++--512
500--++--512
500--++--512
500--++--512
500--++--512
500--++--512
501--++--513
501--++--513
501--++--513
501--++--513
501--++--513
501--++--513
501--++--513
502--++--514
502--++--514
502--++--514
502--++--514
502--++--514
502--++--514
502--++--514
503--++--515
503--++--515
503--++--515
503--++--515
503--++--515
503--++--515
504--++--516
504--++--516
504--++--516
504--++--516
504--++--516
504--++--516
504--++--516
505--++--517
505--++--517
505--++--517
505--++--517
505--++--517
505--++--517
506--++--518
506--++--518
506--++--518
506--++--518
506--++--518
506--++--518
506--++--518
507--++--519
507--++--519
507--++--519
507--++--519
507--++--519
507--++--519
507--++--519
508--++--520
508--++--520
508--++--520
508--++--520
508--++--520
508--++--520
509--++--521
509--++--521
509--++--521
509--++--521
509--++--521
509--++--521
509--++--521
510--++--522
510--++--522
510--++--522
510--++--522
510--++--522
510--++--522
511--++--523
511--++--523
511--++--523
511--++--523
511--++--523
511--++--523
511--++--523
512--++--524
512--++--524
512--++--524
512--++--524
512--++--524
512--++--524
512--++--524
513--++--525
513--++--525
513--++--525
513--++--525
513--++--525
513--++--525
514--++--526
514--++--526
514--++--526
514--++--526
514--++--526
514--++--526
514--++--526
515--++--527
515--++--527
515--++--527
515--++--527
515--++--527
515--++--527
516--++--528
516--++--528
516--++--528
516--++--528
516--++--528
516--++--528
516--++--528
517--++--529
517--++--529
517--++--529
517--++--529
517--++--529
517--++--529
517--++--529
518--++--530
518--++--530
518--++--530
518--++--530
518--++--530
518--++--530
519--++--531
519--++--531
519--++--531
519--++--531
519--++--531
519--++--531
519--++--531
520--++--532
520--++--532
520--++--532
520--++--532
520--++--532
520--++--532
520--++--532
521--++--533
521--++--533
521--++--533
521--++--533
521--++--533
521--++--533
522--++--534
522--++--534
522--++--534
522--++--534
522--++--534
522--++--534
522--++--534
523--++--535
523--++--535
523--++--535
523--++--535
523--++--535
523--++--535
524--++--536
524--++--536
524--++--536
524--++--536
524--++--536
524--++--536
524--++--536
525--++--537
525--++--537
525--++--537
525--++--537
525--++--537
525--++--537
525--++--537
526--++--538
526--++--538
526--++--538
526--++--538
526--++--538
526--++--538
527--++--539
527--++--539
527--++--539
527--++--539
527--++--539
527--++--539
527--++--539
528--++--540
528--++--540
528--++--540
528--++--540
528--++--540
528--++--540
529--++--541
529--++--541
529--++--541
529--++--541
529--++--541
529--++--541
529--++--541


 回到顶部
帅哥哟,离线,有人找我吗?
wenit
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:5 积分:3 威望:0 精华:0 注册:2013/2/27 10:13:13
  发帖心情 Post By:2017/3/23 9:36:43 [只看该作者]

截图
图片点击可在新窗口打开查看此主题相关图片如下:上传.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2017/3/23 16:36:22 [只看该作者]

我们用最新的4.1版本,通过外盘数据测试,没发现你说的问题。


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
NaturalLaw
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/28 9:35:12 [只看该作者]

为什么要通过外盘数据测试呢?

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/3/28 12:59:10 [只看该作者]

本地内盘测试也正常,你公式属性是否 序列正常选择的?

重新建立一个查看下呢


 回到顶部