我想遍历自己的一个板块, 并按涨速排序,选前面 涨速前5的股票 并显示出 名称 涨幅 涨速 请教怎么实现?
Set Table = Report.GetGridByName("上海指数").GetTable()
call Table.SwitchBlock("ss", 1) //切换到自选板块 ss
call Table.SortCol(5,2) //按照显示盘第5列倒排序
for i=0 to 4
application.MsgOut Table.GetItemText(i,3)&"------"&Table.GetItemValue(i,5) //这里的具体显示名称和涨幅涨速按照你显示盘的排序自己设置数字
next
我是想在看盘的版面 显示 其他板块的 涨幅涨速, 所以不能切换, 需要获取到数据,
其实可以自定义一个这样的板块,但是, 自定义的板块 没有系统自带的 dynamic 这个框架方便.
这个框架可以快捷 分时, k线切换. 指标显示也能快速切换. 自定义的框架就麻烦了.
这个不影响你看技术分析框架的,我只是修改动态显示盘的显示并进行排序。
这个有什么影响吗?你只要动态显示盘这个框架开着就行了,要看其他版块你代码里切换版块然后进行排序输出就行了。
个人认为这个也就几行代码很清晰了,您还想要怎么样的灵活??
我现在经常出现 自定义的板块 里面的 股被清空了.. 要重新登录才有, 因为我是每隔1秒就刷一次., 不知道有没有影响
[此贴子已经被作者于2015/2/11 14:09:43编辑过]
这不会清空你板块里个股的,你把你完整代码发过来看。
set Grid = dynamic.activegrid
Set Table = Report.GetGridByName("上海指数").GetTable()
call Table.SwitchBlock("hs3002", 1) '切换到自选板块 ss
'Application.ActivateFrame("dynamic")
x=1680
y=20
call Table.SortCol(6, 2) '按照显示盘第5列排序
for i=0 to 8
'
application.MsgOut Table.GetItemText(i,3)&"------"&Table.GetItemValue(i,5) '这里的具体显示名称和涨幅涨速按照你显示盘的排序自己设置数字
str1=Table.GetItemText(i,3)
if len(str1)=3 then
str1 = str1& " "
end if
str=str1&" "&round(Table.GetItemValue(i,5),1)&"( "&round(Table.GetItemValue(i,6),1)&" )"
call Grid.DRAWTEXT(x, y, str,vbred)
y=y+18
next
'call Table.SortCol(6, 1) '按照显示盘第5列排序
x=x+110
y=20
for i=Table.RowCount() to Table.RowCount()-8 Step -1
'
application.MsgOut Table.GetItemText(i,3)&"------"&Table.GetItemValue(i,5) '这里的具体显示名称和涨幅涨速按照你显示盘的排序自己设置数字
str1=Table.GetItemText(i,3)
if len(str1)=3 then
str1 = str1& " "
end if
str=str1&" "&round(Table.GetItemValue(i,5),1)&"( "&round(Table.GetItemValue(i,6),1)&" )"
call Grid.DRAWTEXT(x, y, str,vbgreen)
y=y+18
next