# Gird 窗格管理
Gird
- 每个框架都是由若干个这样的Grid(窗格)对象所组成,每个 窗格对象有一个资源字符串所标识,可以通过这个资源字符串从框架中得到任意的窗格对象。
- 每个窗格都有其自己独立的坐标系统,X和Y坐标都由0为起点宽度和高度为终点。你可以通过一系列转换函数来对窗格和框架进行不同的坐标转换。
- 注意:你应该在框架的 Paint 事件里编写绘图代码, 否则当窗口重绘后你的绘图会被覆盖掉.
属性
属性 | 说明 | 备注 |
---|---|---|
Name | 当前窗格名称。注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
StockName | 与该窗格关联的证券名称。注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
StockLabel | 与该窗格关联的证券代码。注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
Market | 与该窗格关联的市场代码。注意:如果频繁调用该属性,请注意使用完毕后释放返回值 | 只读 |
CycType | 当前窗格数据的周期类型 0表示 1分钟 1表示 5分钟 2表示 15分钟 3表示 30分钟 4表示 60分钟 5表示 日线 6表示 周线 7表示 月线 8表示 年线 9表示 多日线 10表示 分笔成交 11表示 多小时 12表示 多秒 13表示 多分钟线 14表示 季度线 15表示 半年线 16表示 节气线 17表示 3分钟 18表示 10分钟 | 只读 |
DataType | 当前窗格数据类型 0表示 分时数据 1表示 K线数据 2表示 其他 | 只读 |
Type | 表示窗格的类型; 0主图 1副图 2固定的(不接收来自用户的技术指标变换) | 读写 |
ShowCyc | 当前窗格显示的周期数目 | |
ShowStartIndex | 当前窗格第一个可视周期的索引(基于0开始的) | |
ShowLastCyc | 主图后面空余周期线数量 | 只读 |
CrossIndex | 十字光标的基于0索引的数据位置,若不显示十字光标则为-1 | 读写 |
YAxis | 如果Gird含有Y坐标则返回1 | 读写 |
XAxis | 如果 窗格含有X坐标则返回1 | 读写 |
ShowXLine | 是否显示X坐标线,显示为1否则为0 | 读写 |
ShowYLine | 是否显示Y坐标线,显示为1否则为0 | 读写 |
SyncAxis | 如果窗格不显示Y坐标时,是否需要与其他关联的 窗格保持Y轴上的同步 | 读写 |
FormulaCount | 返回当前窗格内部所包含公式个数 | 只读 |
MaxPrice | 当前Gird在Y坐标上的最大值 | 读写 |
MinPrice | 当前窗格在Y坐标上的最小值 | 读写 |
BackColor | 返回或者设置窗格的背景颜色 | |
Width | 返回窗格当前宽度,以象素表示 | 只读 |
Height | 返回窗格当前高度,以象素表示 | 只读 |
TopHeight | 当前窗格上边距高度,以象素表示,该边距通常用来显示公式数据 | 读写 |
LeftWidth | 当前窗格左边距宽度,以象素表示,该边距通常用来显示左Y坐标 | 读写 |
RightWidth | 当前窗格右边距宽度,以象素表示,该边距通常用来显示右Y坐标 | 读写 |
BottomHeight | 当前窗格下边距高度,以象素表示,该边距通常用来显示X坐标 | 读写 |
CycStep | 表示窗格图形区周期之间的步长。为写入属性时,则为自定义固定K线宽度 | 读写 |
CoordinateMode | 当前Y坐标显示模式;0普通坐标 1对数坐标 | 读写 |
CoordinateType | 坐标显示类型,0等差 1等比 2等分 3百分比 4黄金分割 5自定义 | 读写 |
CooridateXTime | X坐标时间类别 0公历时间 1农历时间 | 读写 |
IgnoreKeyMsg | 是否忽略掉用户的更换公式命令,为True则表示忽略,此时例如键盘精灵将不能更改该窗格内的公式,但对菜单无效 | 读写 |
IndexData | 返回当前数据区数据序列。只有在特定情况下此属性才有效,例如当一个公式自定义函数被调用时 | |
ShowButton | 指示当窗格内部没有公式时,是否要显示“设置初始公式”和“新建”按钮 | |
MinuteGraph | 确认该窗格是否作为分时图显示 | |
MustPower | 是否复权处理历史数据 | |
PowerAspect | 复权方向 0表示 向前复权 1表示 向后复权 | |
SpliceCount | 当前窗格叠加品种个数(只对主图有效) | 只读 |
GetSpliceGrid | 返回基于0指定索引的叠加品种的窗格对象,用户可取到叠加窗格对象后再取其走势数据,例如GetSpliceGrid(0)表示取第一个叠加品种的窗格对象 | |
SpliceType | 当前窗格叠加类型 0表示 幅度叠加 1表示 价格叠加 | |
ShowBandPrice | 是否显示波段高低价格,显示为1否则为0 | 读写 |
PriceReversal | 是否价格反转,为1则反转反之为0 | 读写 |
CoordReversal | 是否坐标反转,为1则反转反之为0 | 读写 |
IsKXianBD | 为1则坐标最大最小紧随K线变动,反之为0 | 读写 |
MainGraphType | 系统主图显示类型 0K线 1表示 美国线 2表示 价位线 3表示 宝塔线 4表示 鬼变脸 5表示 等量线 6表示 等幅线 | 只读 |
LockStock | 是否当前品种(禁止更换),为1则锁定反之为0 | 读写 |
LockTimeSect | 是否指定日期显示时段锁定,为1则锁定反之为0 | 读写 |
LockTimeSectStart | 锁定显示时段的开始日期时间(LockTimeSect属性为1时有效) | 读写 |
LockTimeSectEnd | 锁定显示时段的结束日期时间(LockTimeSect属性为1时有效) | 读写 |
LockTodayTimeSect | 是否锁定当日显示时段(仅对1分钟以及以下周期有效),为1则锁定反之为0 | 读写 |
LockYCoordinate | 是否锁定价格坐标不允许自动调整变化 | 读写 |
OrderMode | 当前报价窗格是否是下单模式 1是 0否 | |
DataCount | 窗格数据总数量(包含末尾空余部份) | 只读 |
ShowCount | 窗格显示数据量,可与Grid.StartShowIndex配合可以实现画面平移 | 读写 |
StartShowIndex | 窗格第一个显示数据的基于0的索引,可与Grid.ShowCount配合可以实现画面平移 | 读写 |
LastDataCount | 窗格图形末尾K线预留K线数量 | 读写 |
MaxLoadCount | 窗格内最大数据处理数量,使用这个属性后,可以限制数据处理数量从而达到提高效率的目的 | |
MoreDays | 多日线参数 | |
MoreHours | 多小时线参数 | |
MoreMinute | 多分钟线参宿 | |
MoreSecond | 多秒线参数 | |
MoreTick | 多笔线参数 | |
Trading | 当前主图窗格是否启用图表程序化交易.0未不启用,1为启用 | 读写 |
方法
方法 | 说明 |
---|---|
ReInitData | 重新初始化数据 |
ReInitDataFormula | 重新初始化数据和窗格内的所有公式 |
ReInitFormula | 仅仅重新计算窗格内的所有公式 |
GetMainGrid | 返回与该窗格关联的主窗格对象。如果本身就是主窗格了,那么将返回自己 |
GetFont | 返回表示当前窗格字体的窗格Font对象 |
GetListFont | 返回表示当前窗格列表字体的窗格Font对象 |
SetFont | 指示Grid采用指定的字体显示,具体请参见GetFont方法 |
SetListFont | 指示Grid的列表采用指定的字体显示,具体请参见GetListFont方法 |
GetReportData | 取当前窗格关联的品种行情数据ReportData对象,该对象用于表示该品种最新行情数据 |
GetMinuteData | 取当前窗格关联的品种分时数据MinuteData对象,对象表示该品种当日每笔的成交记录 |
GetHistoryData | 取当前窗格关联的品种历史数据HistoryData对象,该对象记录了该品种历史数据。 当DataType属性为0或者CycType为10时该方法不可用 |
GetMarketInfo | 取当前窗格关联的品种市场Market对象,该对象记录了与该市场有关的一切设置 |
GetParent | 得到窗格所属的框架名称,若窗格不属于任何一框架比如在后台自动交易中的,那么返回空串。注意:如果频繁调用该属性,请注意使用完毕后释放返回值 |
DRAWICON | 在指定位置绘制图标 |
DrawLine | 在指定位置绘制直线 |
DRAWTEXT | 在指定位置绘制文字 |
DRAWFONTTEXT | 在指定位置绘制指定字体的文字 |
DrawEllipse | 在指定位置绘制椭圆 |
InvertRect | 翻转矩形内的颜色 |
DrawArc | 在指定位置绘制弧线 |
DrawRect | 在指定位置绘制矩形 |
DrawStick | 在指定位置绘制柱线 |
DrawBmp | 在指定位置绘制图片 |
DrawBmpRect | 在指定位置区域内绘制图片,必要时将拉伸或者缩小该图片以适应该区域 |
PriceToPels | 以当前价格为参数,取其在窗格相对应的Y坐标位置(象素) |
ValueByPoint | 以当前窗格点坐标位置,得到图形内的周期序列、日期以及所对应的价格信息 |
DateByPos | 以周期序列为参数,返回与之相对应的日期 |
PosByDate | 以日期为参数,返回与之相对应的周期序列 |
DateByPoint | 以点位置为参数,返回与之相对应的日期 |
PelsByPos | 以周期序列为参数,返回与之相对应的X坐标象素位置 |
GetFormulaByIndex | 得到指定序号的公式Formula对象(基于0索引) |
GetFormulaByName | 得到指定名称的公式Formula对象 |
InsertFormula | 插入指定名称的公式 |
InsertTable | 插入指定表(动态牌) |
DeleteFormula | 删除指定名称的公式,例如 DeleteFormula("MA"), 表示将图表加载的MA公式删除 |
ReleaseFormula | 删除指定序号的公式 |
FrameToGird | 将“框架”坐标转换为窗格坐标 |
GridToFrame | 将窗格坐标转换为框架坐标 |
PtInGrid | 以框架点坐标为参数,判断其点位置是否位于窗格之内 |
DeleteSpliceGrid | 删除叠加在主图的品种 |
InsertSpliceGrid | 在主图上插入叠加品种 |
GetDrawLineVal | 得到窗格趋势线数值 |
IsWindow | 判断当前窗格是否是一个窗格,调用绘图函数或者一些坐标函数之前,应当检测一下,因为有些时候Grid对象并不是有效的窗口,比如选股和公式测试时 |
ChangeStock | 更换品种,例如 ChangeStock("000001","SH"),表示更换当前窗格更换到上证指数显示 |
ChangeCyc | 更换所属主窗格周期,(可用于刷新窗格下指定周期的数据) |
IsTable | 若该窗格是表(动态显示牌)则返回1,否则返回0 |
GetTable | 得到所属该窗格的表Table对象 |
NeedShowDate | 确保图形至少需要显示到指定开始日期数量的数据 |
SetShowIndexBar | 设置指定索引的K线显示标志 |
SetDataCount | 设置主图窗格的K线数据数量 |
示例
' 图形绘制必须在框架的 Paint 事件中进行
Sub Technic_Paint()
' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象
Set Grid = Technic.GetGridByName("Main")
'在开始坐标10,100,结束坐标10,100位置绘制椭圆
Grid.DrawEllipse 10,10,100,100,255
End Sub
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9