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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]VBA中调用条件选股

   

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


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

主题:[求助]VBA中调用条件选股

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
[求助]VBA中调用条件选股  发帖心情 Post By:2013/4/17 22:20:10 [只看该作者]

我有一个条件选股:假设为TJXG_A;

我想在VBA中调用运行这个条件选股

,有何办法。

 

不胜感谢!

 

 


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


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

Stkindi 方法

引用任意品种任意周期的任意指标输出,返回对象Formula

Stkindi(Code, Market, IndiName, Co, Cyc)

Code     品种代码

Market   市场标识

IndiName 为指标公式调用,格式为 “指标名称(参数)”, 参数选项可以不填,按系统默认处理

Co       为坐标轴类型 0交易日坐标 1自然日 2交易交易时间

Cyc      周期类型,0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交 11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线

返回值    返回Formula对象

示例
Set Formula = marketdata.STKINDI("if08","zj","ma(5,10,20,60)",0,0) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60
mgbox Formula.GetBufData("ma3",924) '显示第925根k线上的MA3指标线数值



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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
  发帖心情 Post By:2013/4/17 22:27:21 [只看该作者]

但我这个条件选股,范围是全部期货市场的。

 

 


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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
  发帖心情 Post By:2013/4/17 22:34:22 [只看该作者]

那是否就是

for  I=1 TO TOP  遍历全部品种

 

 

    Set Formula = marketdata.STKINDI(MARKETCODE[I],MARKET,TJXG_A,0,0)

 

 end FOR


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


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

是的



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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
条件选股根本没有运作,是否不能用  发帖心情 Post By:2013/4/18 12:37:37 [只看该作者]

条件选股根本没有运作,STKINDI是否不能用条件选股,只能用指标

 

Sub ssmxsjgx_testbutt_Click()

 Dim marketName

 Dim  blocktype(1000)
    Dim  blockname(1000)
    Dim  I,TIMAX,J,tnreturn
    Dim  tcblocktype,tcblockname
    Dim  tnblockcount


    TIMAX=1
 blocktype(TIMAX)="上海证券交易所"
 blockname(TIMAX)= "上海A股"

    TIMAX=TIMAX+1
    blocktype(TIMAX)="深证证券交易所"
 blockname(TIMAX)= "深圳A股"

    TIMAX=TIMAX+1
    blocktype(TIMAX)="深证证券交易所"
 blockname(TIMAX)= "深证创业"

    TIMAX=TIMAX+1
    blocktype(TIMAX)="深证证券交易所"
 blockname(TIMAX)= "中小企业"

   
 Set b = CreateObject("Stock.Block")
 

 
 FOR I=1 TO  TIMAX 
 
      
         application.MsgOut Date &" " &Time& "条件选股....:"&blocktype(I)&"  名称:"&blockname(I)

      
         call b.open(blockname(I),0)   
             
           tnblockcount=b.count
            for J=0 TO tnblockcount
                  
                   TCMARKET=b.GetStockMarket(J)
                  TCCODE=TCMARKET+b.GetStockCode(J)     
   
   
                  Set Formula = marketdata.STKINDI(TCCODE,TCMARKET,"BKGXMR",0,5) 'BKGXMR为公式中的条件选股(非技术指标)
         
                 application.MsgOut Date &" " &Time& " "&tccode
                
            next      
           
         

    NEXT
 
 
  
 
   application.MsgOut Date &" " &Time& "条件选股完成!"   
End Sub

[此贴子已经被作者于2013-4-18 12:38:36编辑过]

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


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

Set Formula  得到公式对象后,你要自己处理公式的返回值,通过公式返回值来判断哪些是符合选股条件的


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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游民 帖子:253 积分:1742 威望:0 精华:0 注册:2010/8/12 13:04:52
  发帖心情 Post By:2013/4/18 14:53:38 [只看该作者]

我这个条件选股中,有增加个股到板块中的语句(是条件语句嵌套vba),根本没有执行


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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/4/18 15:12:44 [只看该作者]

GetReportDataByIndex 方法

得到指定市场指定基于0索引的ReportData对象,该对象用于表示该品种最新行情数据。

GetReportDataByIndex(Market,Index)

Market   市场标识

Index   基于0索引的指定品种,品种数量可由GetReportCount属性获得.

返回值    返回ReportData对象

示例

‘该示例从郑州市场筛选SR合约得最大持仓量做为主力合约

Sub Test()

 

Dim MaxCode

Dim MaxVolume

 

'得到市场所有品种

Count = MarketData.GetReportCount("ZQ")

 

For i = 0 To Count-1

 Set Report1 = MarketData.GetReportDataByIndex("ZQ",i)

'只处理SR合约

 if Left(Report1.Label,2) = "SR" Then

  '只处理有效合约

  if Right(Report1.Label,2) >= "01" And Right(Report1.Label,2) <= "12" Then

   If Report1.Volume > MaxVolume Then

    MaxCode = Report1.Label

    MaxVolume = Report1.Volume

   End if

  end if

 End if

Next

 

'显示成交量最大得合约

MsgBox MaxCode

 

End Sub

 

 

 

 

你遍历一下嘛 符合条件的去添加


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


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

application.MsgOut 用这条语句多进行调试


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

金字塔-技术部

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

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

Email:service@weistock.com
 回到顶部
总数 11 1 2 下一页