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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA选股与软件中选股的结果不一致

   

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


  共有2858人关注过本帖平板打印复制链接

主题:VBA选股与软件中选股的结果不一致

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


加好友 发短信
等级:新手上路 帖子:43 积分:1 威望:0 精华:0 注册:2013/3/9 23:18:00
VBA选股与软件中选股的结果不一致  发帖心情 Post By:2016/3/3 22:34:36 [只看该作者]

以下内容为程序代码:

1 Set b = CreateObject("Stock.Block")
2 b.ClearBlock "自选","两连板"
3 call b.ToSave("自选","两连板") '保存数据
4 Dim blocktype2(5)
5 Dim blockname2(5)
6
7 TIMAX2=1
8 blocktype2(TIMAX2)="上海证券交易所"
9 blockname2(TIMAX2)= "上海A股"
10 TIMAX2=TIMAX2+1
11 blocktype2(TIMAX2)="深圳证券交易所"
12 blockname2(TIMAX2)= "深圳A股"
13 TIMAX2=TIMAX2+1
14 blocktype2(TIMAX2)="深圳证券交易所"
15 blockname2(TIMAX2)= "深圳创业"
16
17
18 FOR I=1 TO TIMAX2
19 call b.open(blockname2(I),0)
20 tnblockcount=b.count
21 application.MsgOut tnblockcount & blockname2(I)
22 for J=0 TO tnblockcount-1
23
24 TCMARKET=b.GetStockMarket(J)
25 TCCODE=b.GetStockCode(J)
26 Set Formula1 = marketdata.STKINDI(TCCODE,TCMARKET,"两连扳测试",0,5)
27 DataSize=Formula1.DataSize
28 IF Formula1.GetBufData("两连扳",DataSize-1) =1 and Formula1.GetBufData("连续涨停数",DataSize-1)=2 and Formula1.GetBufDateData(DataSize-1)=date THEN '非停牌股
29 application.MsgOut TCCODE & TCMARKET & ":" & Formula1.GetBufData("两连扳",DataSize-1) & ", " & Formula1.GetBufData("连续涨停数",DataSize-1)
30 call b.open("两连板",1)
31 call b.AddStock(TCMARKET,TCCODE)
32 call b.ToSave("自选","两连板") '保存数据
33 END IF
34 next
35 next

以上是VBA的选股代码,在今天执行,得到的结果有3个,600490.000505,300023

但是用选股系统选出来的要多,像000626,000657,002133,002145都是符合公式条件的,就是没有被选进去

公式代码如下:

涨停:=C>REF(C,1)*1.095;
两连扳:ref(涨停,1) and 涨停;
连续涨停数:BARSLast(not(涨停));

求解惑!!


 回到顶部