以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- b遍历自定义板块 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=75169) |
-- 作者:orca8 -- 发布时间:2015/1/29 21:56:23 -- b遍历自定义板块 我想遍历自己的一个板块, 并按涨速排序,选前面 涨速前5的股票 并显示出 名称 涨幅 涨速 请教怎么实现? |
-- 作者:yukizzc -- 发布时间:2015/1/30 9:40:21 -- Set Table = Report.GetGridByName("上海指数").GetTable() |
-- 作者:orca8 -- 发布时间:2015/1/30 11:33:42 -- 我是想在看盘的版面 显示 其他板块的 涨幅涨速, 所以不能切换, 需要获取到数据, 其实可以自定义一个这样的板块,但是, 自定义的板块 没有系统自带的 dynamic 这个框架方便. 这个框架可以快捷 分时, k线切换. 指标显示也能快速切换. 自定义的框架就麻烦了.
|
-- 作者:FexTel -- 发布时间:2015/1/30 13:25:51 -- 1,放到一个自定义版块中呗 |
-- 作者:yukizzc -- 发布时间:2015/1/30 13:37:08 -- 这个不影响你看技术分析框架的,我只是修改动态显示盘的显示并进行排序。
|
-- 作者:orca8 -- 发布时间:2015/2/11 9:57:06 -- 有没有可以不通过 Report 的, 我看这种方式 Report 会不断的被点击.而且需要打开. 如果需要多个品种的或者板块好像不是很好, 有没有更灵活的 方法, 直接取的就是数据,
|
-- 作者:yukizzc -- 发布时间:2015/2/11 10:12:52 -- 这个有什么影响吗?你只要动态显示盘这个框架开着就行了,要看其他版块你代码里切换版块然后进行排序输出就行了。 个人认为这个也就几行代码很清晰了,您还想要怎么样的灵活?? |
-- 作者:orca8 -- 发布时间:2015/2/11 14:09:09 -- 我现在经常出现 自定义的板块 里面的 股被清空了.. 要重新登录才有, 因为我是每隔1秒就刷一次., 不知道有没有影响 [此贴子已经被作者于2015/2/11 14:09:43编辑过]
|
-- 作者:yukizzc -- 发布时间:2015/2/11 14:48:10 -- 这不会清空你板块里个股的,你把你完整代码发过来看。
|
-- 作者:orca8 -- 发布时间:2015/2/11 20:34:02 --
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 |