金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 867|回复: 8

怎么会运行过程中说缺少对象呢?

[复制链接]

21

主题

87

帖子

87

积分

等级: 免费版

注册:
2022-11-7
曾用名:
发表于 2024-2-19 09:38 | 显示全部楼层 |阅读模式
        Set hisshort = CreateObject("Stock.Array")
        set hisshort = MarketData.GetHistoryData(stklabel,marketname,cyctype,kcount)
        datashortcount = hisshort.count
        Application.PeekAndPump
        call pztradetime(stkname)
        ReDim hisshortprice(datashortcount)
        ReDim hisshortdate(datashortcount)
        If kcount > datashortcount Then
                Application.MsgOut StkLabel&",短周期分钟数据数量="&datashortcount&"少于需要的数据数量:"&kcount
                Application.MsgOut StkLabel&",需补充5分钟数据后再运行VBA,交易"               
                application.PostMessage(32797)
        Else
                dim ishort               
                ReDim timeshort(datashortcount)
                ReDim timeshorttojzt(datashortcount)
                ReDim dateshorttojzt(datashortcount)
                For ishort = datashortcount - 1 To 0 Step -1
                        hisshortprice(ishort) = hisshort.close(ishort)'===============>怎么会运行过程中说缺少对象呢?
                        'shortopenint(ishort) = hisshort.Openint(ishort)
                        hisshortdate(ishort) = hisshort.date(ishort)

回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-2-19 10:10 | 显示全部楼层
1.第一句是创建数组对象,第二句是数据对象,两个对象名重复。代码部分中第一句根本不需要
2.set hisshort = MarketData.GetHistoryData(stklabel,marketname,cyctype,kcount)创建对象失败,才可能导致hisshort对象无效。检查你代码中定义的参数值。stklabel,marketname,cyctype,kcount
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

87

帖子

87

积分

等级: 免费版

注册:
2022-11-7
曾用名:
 楼主| 发表于 2024-2-19 21:48 | 显示全部楼层
还是处同样的错
截图202402192148041741.png
回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-2-20 08:55 | 显示全部楼层
这是什么?打算用数组保存?如果是应该是数组对象名.xxx
如果是普通变量,不应该带有(IShort)
截图202402200852197533.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

87

帖子

87

积分

等级: 免费版

注册:
2022-11-7
曾用名:
 楼主| 发表于 2024-2-20 09:07 | 显示全部楼层
hisshortprice()是用来保存收盘价的数组
回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-2-20 09:10 | 显示全部楼层
vba中数组要创建数组对象后,通过对应的方法才能对数组即兴处理。

截图202402200910068999.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

87

帖子

87

积分

等级: 免费版

注册:
2022-11-7
曾用名:
 楼主| 发表于 2024-2-20 10:52 | 显示全部楼层

hisshortprice()是一个动态变量,使用前已经redim数组大小=datashortcount,然后把hisshort的对应的close赋值给hisshortprice()
而已,程序可以运行,单动不动就出现"缺少对象"
回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-2-20 12:43 | 显示全部楼层
本帖最后由 技术006 于 2024-2-20 13:09 编辑

运行报错说明代码写的就是有问题。所谓的能运行是,因为其外部有if条件,不一定能立即执行到这个位置。你可以精简代码,或者针对性增加相关变量的msgout输出。逐步定位到造成运行报错的原因。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

87

帖子

87

积分

等级: 免费版

注册:
2022-11-7
曾用名:
 楼主| 发表于 2024-2-21 11:13 | 显示全部楼层
又变成类型不匹配了
截图202402211113284257.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-29 21:14 , Processed in 0.250226 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表