Rss & SiteMap

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

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

标题:自定义函数为什么会这样呢?

1楼
fengxiaoyong 发表于:2015/11/25 16:20:40

 我通过自定义函数和PEL交互,选好股后,通过自定义函数把股加到对应的板块中,代码如下,但是通过调试程序,字符传不过去,是空值,这个是啥原因呢


Function AddBlock(Formula,StockCode,BlkName)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    AddBlock=0
    Application.MsgOut stockcode & blkname
    set blk=CreateObject("Stock.Block")
    blk.CreateBlock "我的分类",BlkName
    if blk.AddStock(BlkName,StockCode) then
       addblock=1
    end if
End Function

2楼
十世 发表于:2015/11/25 16:33:19

空值说明你没有取出选股后的 品种代码

3楼
fengxiaoyong 发表于:2015/11/25 16:34:21
 不是的,我还没选股,直接用技术指标调用这个函数都直接传不进去参数值进去
4楼
fengxiaoyong 发表于:2015/11/25 16:37:56
 王峰老师回答一下吧:我调试发现只有传递数值才可以,字符串是无法传递过去的,如果我要PEL和VBA之间传递字符串用什么办法呢
5楼
yukizzc 发表于:2015/11/25 16:39:23
自定义函数无法传递字符串,解决方法看这边http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=9511
6楼
fengxiaoyong 发表于:2015/11/25 17:18:44
谢谢解决了,但是我测试外部对象STOCK.BLOCK发现AddStock这个函数无效,什么参数都是返回1,无法把该股加入到对应板块中
Function AddBlock(Formula,StockCode,BlkName)
   
    AddBlock=0
    stockcode= document.GetExtString("stockcode")
    blkname =document.GetExtString("marketname")
    Application.MsgOut stockcode & blkname
    set blk=CreateObject("Stock.Block")
    blk.CreateBlock "自选股",BlkName 
    if blk.AddStock(BlkName,StockCode) then
       Application.MsgOut "添加个股到板块成功"
       addblock=1
    end if 
End Function
7楼
yukizzc 发表于:2015/11/26 9:05:37

http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=77581&skin=0

添加后tosave保存下,这边我写过一个例子您看下

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


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.