参考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