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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 同一框架用vba设置不同周期的主图的显示时段有问题。

   

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


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

主题:同一框架用vba设置不同周期的主图的显示时段有问题。

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
同一框架用vba设置不同周期的主图的显示时段有问题。  发帖心情 Post By:2014/4/2 16:17:22 [显示全部帖子]

我自建的框架,有两个主窗格,一个是1分钟k线,一个是日k线,先用vba设置1分钟主图的显示时段,正常,如下程序。然后再用同样方法设置日k线图的显示时段,但日k线不起作用,是为什么?
yGrid.ReInitDataFormula
MyGrid.LockTimeSect=1
MyGrid.LockTimeSectStart=StartTime
MyGrid.LockTimeSectEnd=EndTime
MyGrid.ReInitDataFormula
MyFrame.ReCalcAllGridFromula()

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
  发帖心情 Post By:2014/4/2 16:49:29 [显示全部帖子]

dim MyFrame


Sub UserForm1_Initialize()
dim MyGrid
dim MyGrid1

if www.HasVisible=1 then
Set MyFrame=www
else Set MyFrame=Technic
end if

Set MyGrid=MyFrame.GetGridByName("Main")
'msgbox MyGrid.name
Set MyGrid1=MyFrame.GetGridByName("细")
'msgbox MyGrid1.name
UserForm1.Resizing=1
UserForm1.Move(MyGrid1.Width+MyGrid.Width-UserForm1.Width)
UserForm1_TextBox1.Text=""
UserForm1_TextBox2.Text=""
End Sub



Sub UserForm1_CommandButton1_Click()
dim TextTime

dim StartTime
dim StartTime1
dim NextDate
dim HistoryD 
dim MyGrid
dim MyGrid2
dim StartPos
dim EndTime
dim StartDay

Set MyGrid =MyFrame.GetGridByName("Main")



TextTime=UserForm1_TextBox1.Text

StartTime=CDate(TextTime)
If WeekDay(StartTime)=1 then
StartTime=StartTime-2
ElseIf WeekDay(StartTime)=7 then
StartTime=StartTime-1
End If
StartDay=StartTime
'msgbox starttime
EndTime=StartTime+ #15:15:00#
StartTime=StartTime+#09:16:00#

Set HistoryD = MyGrid.GetHistoryData()

MyGrid.LockTimeSect=0
MyGrid.ReInitDataFormula

StartPos=MyGrid.PosByDate(StartTime)
'msgbox startpos
StartTime1=MyGrid.DateByPos(StartPos)

If StartTime<>StartTime then
msgbox "无此日数据"
Exit Sub
end if 


MyGrid.ReInitDataFormula
MyGrid.LockTimeSect=1
'msgbox starttime
MyGrid.LockTimeSectStart=StartTime
MyGrid.LockTimeSectEnd=EndTime
MyGrid.ReInitDataFormula

MyFrame.ReCalcAllGridFromula()

EndTime=EndTime
UserForm1_TextBox1.Text= StartDay

If MyFrame.name="www" then
Set MyGrid2=MyFrame.GetGridByName("日线")
MyGrid2.LockTimeSect=1
StartTime=MyGrid2.PosByDate(StartDay)-50
StartTime=MyGrid2.DateByPos(StartTime)
MyGrid2.LockTimeSectStart=StartTime
MyGrid2.LockTimeSectEnd=StartDay
MyGrid2.ReInitDataFormula

MyFrame.ReCalcAllGridFromula()
End If


End Sub

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
  发帖心情 Post By:2014/4/3 17:02:58 [显示全部帖子]

程序在贴出,等答复。

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
  发帖心情 Post By:2014/4/4 14:04:47 [显示全部帖子]

不是两个框架,是同一框架。

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
  发帖心情 Post By:2014/4/6 9:34:23 [显示全部帖子]

你的程序两个窗格的都是1分钟线,而我是用在一个是1分钟线,一个是日线。就是你这个程序第二个窗格的改成日线,对日线的控制就不行了。你可以再试下。

Sub Test()
dim MyGrid1
dim myGrid2


Set MyGrid1 = Frame1.GetGridByName("Main")
MyGrid1.LockTimeSect=1
MyGrid1.LockTimeSectStart="2014-3-27 09:20:00"
MyGrid1.LockTimeSectEnd="2014-3-27 15:10:00"
MyGrid1.ReInitDataFormula

Set MyGrid2 = Frame1.GetGridByName("日线")
MyGrid2.LockTimeSect=1
MyGrid2.LockTimeSectStart="2014-4-1"
MyGrid2.LockTimeSectEnd="2014-4-5"
MyGrid2.ReInitDataFormula

 

End Sub

 


 回到顶部