以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- marketdata.STKINDI 在自定义函数中的使用问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=60196) |
-- 作者:wangguanjin -- 发布时间:2013/12/21 23:19:45 -- marketdata.STKINDI 在自定义函数中的使用问题 我定义了一个自定义函数,里面加入如下代码: Function MyFun(Formula,StockIDStr)
我在逐K线模型下运行的交易系统中调用了MyFun,为什么在测试的时候,函数 返回的结果总是一个数,没有变化 |
-- 作者:王锋 -- 发布时间:2013/12/22 1:13:54 -- 600217 看看你引用的这个品种的历史数据补齐了没有 |
-- 作者:wangguanjin -- 发布时间:2013/12/22 20:31:17 -- 你好,boss, 600217 数据已经补齐了的,啥子问题捏? |
-- 作者:王锋 -- 发布时间:2013/12/23 18:21:09 -- 你的代码就是返回的一个数,如果你需要一个数组变量,那么你应该在循环语句中使用。 |
-- 作者:wangguanjin -- 发布时间:2013/12/23 21:17:11 -- boss,您好! 在逐K线模式下,每根K线调用它的时候,返回的应该是对应当前K线的值, 我的意思是它返回的值不会发生变化,是固定的。
|
-- 作者:王锋 -- 发布时间:2013/12/23 22:32:46 -- 你还是好好检查 marketdata.STKINDI 你的参数引用吧 |
-- 作者:wangguanjin -- 发布时间:2013/12/24 22:52:20 -- 我把完整代码贴出来吧,代码如下:
// 以下代码为PLA语言代码,在逐K线模式下运行 VARIABLE:clo[] = 0; VARIABLE:clo2[] = 0; clo := STKINDIEX(\'600000\',\'MA.MA1(5)\',0,6,0,1000); clo2 := MyFun(); // MyFun为 VBA写的自定义函数
VBA函数如下: Function MyFun(Formula) End Function
问题是:我用产品600000的日K线下进行调试,发现clo数组和clo2数组的内容不一致,应该一样才对啊 [此贴子已经被作者于2013/12/24 22:53:06编辑过]
|
-- 作者:王锋 -- 发布时间:2013/12/25 16:27:26 -- PEL中你使用STKINDIEX对引用的数据做了1000根限定。 而你VBA的marketdata.STKINDI未作限定,请仔细看看marketdata.STKINDI的帮助说明,加上数量限定就好了。
|