Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:k线图的平移操作问题

1楼
admin 发表于:2010/12/14 15:35:56
Grid对象的属性showlastcyc规定是只读的,请问,k线图的平移操作(增加X轴空白周期,Y轴一段空白),既然能够手工操作,那么如何用代码实现?
2楼
一亩三分地 发表于:2010/12/14 17:51:22
左右的找到了,上下的还没找到

sub shiftleft()
Set Grid = Technic.GetGridByName("Main")
Grid.StartShowIndex=Grid.ShowStartIndex+1          
call Technic.Refresh() 
end sub

sub shiftright()
Set Grid = Technic.GetGridByName("Main")
Grid.StartShowIndex=Grid.ShowStartIndex-1          
call Technic.Refresh() 
end sub


3楼
admin 发表于:2010/12/14 21:40:38

参考CalcGridMaxMin事件的部分代码,CalcGridMaxMin事件在窗格计算最大最小值发生,可以通过修改这个最大最小值来达到上下平移的目的。

 

Sub Technic_CalcGridMaxMin(Grid, MaxVal, MinVal, Result)
 If Grid.Name <> "Main" Then
   exit Sub
 End if
 
 if GraphSetup_CheckBox2.Value = true Then
  Set Report1 = Grid.GetReportData
  if Report1 is NoThing Then
    Exit Sub
  End if
 
  if  GraphSetup_OptionButton1.Value = true Then
   AvgPrice = Report1.AveragePrice
   if AvgPrice = 0 then
    AvgPrice = Report1.LastClose
   end if
   if AvgPrice = 0 then
    Exit Sub
   End if
   
   MaxVal = AvgPrice +  GraphSetup_TextBox1.Text
   MinVal = AvgPrice -  GraphSetup_TextBox1.Text
  End if
  
  if  GraphSetup_OptionButton2.Value = true Then
   MaxVal = (Report1.High+Report1.Low)/2 +  GraphSetup_TextBox1.Text
   MinVal = (Report1.High+Report1.Low)/2 -  GraphSetup_TextBox1.Text
  End if
  
  Result = 1
 End if
End Sub

共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.