Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]为什么自定义函数不输出图形?

1楼
RES00 发表于:2012/1/9 12:58:00

看了系统的自定义函数后写了下面这个(公式名称test):

C1:CU_MA1(CLOSE,15);

显示的时候为什么是一条0的直线?

请教版主和各位高手

[此贴子已经被作者于2012-1-9 13:19:44编辑过]
2楼
26327756l 发表于:2012/1/9 13:33:01

你的那条语句是不可以放在自定义函数里的

是公式里的语句

 自定义函数中的语句格式是VBA的语法格式

 

请仔细确认。

3楼
RES00 发表于:2012/1/9 15:42:24

我是在新建的公式TEST中调用系统的自定义函数CU_MA1,在公式编辑框内调用,这个语句没有错误,编译通过

而且按照金字塔的说明,公式中调用自定义函数与在公式中调用系统函数是一样的,所以"C1:CU_MA1(CLOSE,5);"应该是没有问题的吧?!

为什么不显示图形?

如果上面我的调用有错,那么要显示图形,在公式编辑中应该如何调用自定义函数呢?不吝赐教!谢谢

4楼
26327756l 发表于:2012/1/9 15:54:01

你有没有编辑你自定义的函数呢?

没有编辑的话,就不会数据,默认数据为0;

 

5楼
RES00 发表于:2012/1/9 15:56:36
CU_MA1函数是系统自带的自定义函数,我只是直接引用,并没有编辑
6楼
fly 发表于:2012/1/9 16:18:15

自定义函数都建在模块Function中,该函数为后台VBA编写,先将它右键--运行--执行,

 

就可以在公式编辑里调用了,注意K线图中,X坐标上右键--仅随K线变动

7楼
王锋 发表于:2012/1/9 17:15:23
经过测试,是可以工作的,请确认你的VBA代码是否被修改过,或者你的VBA是否开启
8楼
RES00 发表于:2012/1/10 14:17:09

我想发个截图给你们看下,这个话题编辑框偏偏不能插入本地图片,你们说的问题我都没有错误,但就是输出不了

发下代码你们看,系统自己带的,不是我写的,看看有没有问题,我的版本是2.75:

'计算逐周期模式下指定周期长度的收盘价均价
Function CU_MA2(Formula,cyc)
    '得到K线数据对象
 Set History = Formula.ParentGrid.GetHistoryData()
 '若当前周期尚未到计算周期,不参与计算
 if Formula.IndexData < cyc-1 then
  CU_MA2 = 0
  exit function
 end if
 
 DataCount = 0
    for i = Formula.IndexData-cyc+1 to Formula.IndexData
     '累加收盘价
     DataCount = DataCount + history.close(i)
    next
 CU_MA2 = DataCount / cyc
End Function

'计算序列模式下指定周期长度的收盘价均价
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

 

9楼
RES00 发表于:2012/1/10 14:31:27

另外FLY说的X轴应该是说Y轴吧,X轴没有你说的选项

10楼
fly 发表于:2012/1/10 14:41:10

是的Y轴,手误.

 

本地测过,可以的.

(1)

自定义函数都建在模块Function中,该函数为后台VBA编写,先将它右键--运行--执行,

 

(2)公式编辑里 新建指标

//序列计算

C1:CU_MA1(CLOSE,15);

(3)K线图中,Y坐标上右键--仅随K线变动

共14 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 3 queries.