CN110537166A - 多图显示方法和计算机可读存储介质 - Google Patents
多图显示方法和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110537166A CN110537166A CN201880025570.2A CN201880025570A CN110537166A CN 110537166 A CN110537166 A CN 110537166A CN 201880025570 A CN201880025570 A CN 201880025570A CN 110537166 A CN110537166 A CN 110537166A
- Authority
- CN
- China
- Prior art keywords
- financial
- rectangular sub
- area domain
- area
- rectangular
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Human Computer Interaction (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种多图显示方法和计算机可读存储介质。在该多图显示方法中,使用处理器执行指令以执行以下步骤:在显示窗口内,确定各金融图形的位置;在显示窗口内确定多个矩形分区域使得单个矩形分区域内包含的金融图形的金融品种相同;设置各金融图形的金融特征;以及设置各矩形分区域内的金融图形的金融品种;以及其中,在显示窗口内两个以上矩形分区域含有多个周期金融图形的情况下,至少两个所述矩形分区域之间有至少两幅周期金融图形的金融特征相同;或者,在显示窗口内仅一个矩形分区域含有多个周期金融图形的情况下,显示窗口内的其它矩形分区域中的全部或一部分与所述一个矩形分区域动态关联。
Description
技术领域
本公开总地涉及一种多图显示方法,更具体地涉及针对金融品种的多图显示方法。本公开还涉及一种计算机可读存储介质。
背景技术
金融品种是指成交价格与时间有关的资产,比如股票、期货、外汇、基金、债券、期权、虚拟货币等所有金融产品,也包括海运价格、现货等,以及相关的指数。
每个金融品种的图形都反映了金融品种的一个金融特征。金融特征又分周期金融特征(以下简称为周期特征)和非周期金融特征(以下简称为非周期特征)。
反映周期特征的图形称为周期金融图形(以下简称周期图形),其图形元素按时间递增绘制。图形上的横轴从左向右表示时间递增,最右侧的时间就是离现在时间最近的时间。周期图形包括分笔图、分时图、30分钟图、日线图、周线图等,其金融特征分别为分笔、分时、30分钟、日、周等,区别在于单个图形元素所代表的时间范围不同。图形元素可为K线、柱线、折线等,与金融特征无关。反映除周期特征之外的金融特征的图形称为非周期金融图形(以下简称非周期图形)。常用的非周期图形包括买卖详情图、逐笔成交图、财务信息图、资讯图、点数图等。周期图形和非周期图形合称金融图形。
在观察金融品种时,有两方面需求。一是对于单支金融品种,需要观察最近一段时间的走势,也需要观察在更长时间范围内当前价格所处的位置。这就需要反映宏观状态的长周期图形与反映微观状态的短周期图形的结合,进行全面分析。这就要求显示同一金融品种的尽量多的不同周期的金融图形。另一方面,一支金融品种还需和其它包括指数在内的金融品种相比较,在同一市场背景条件下分别比较其长周期图形和短周期图形,才能发现此金融品种在不同时间范围内的相对强弱。这就要求显示尽量多的金融品种。
要实现上述目的,最好采用多图显示。目前的多图显示,要么整个显示窗口内只有一支金融品种,要么虽有多支金融品种,但每只金融品种只有一幅周期图形可供比较。所以,要实现上述目的,必须对屏幕上的显示窗口中的全部图形多次切换。但是图形的切换不仅浪费时间、降低效率,最关键的是,图形上的众多细节在切换后可能被遗忘,从而忽略了有用的细节,或是得出错误结论,不能实现不同金融品种在同一屏幕上的全面充分的对比。
发明内容
本公开的一方面涉及一种多图显示方法,其中,使用处理器执行指令以执行以下步骤:在显示窗口内,确定各金融图形的位置;在显示窗口内确定多个矩形分区域使得单个矩形分区域内包含的金融图形的金融品种相同;设置各金融图形的金融特征;以及设置各矩形分区域内的金融图形的金融品种;以及其中,在所述显示窗口内两个以上矩形分区域分别含有多个周期金融图形的情况下,至少两个所述矩形分区域之间有至少两幅周期金融图形的金融特征相同;或者在所述显示窗口内仅一个矩形分区域含有多个周期金融图形的情况下,所述显示窗口内的其它矩形分区域中的全部或一部分与所述一个矩形分区域动态关联。
本公开的又一方面还涉及一种计算机可读存储介质,上面存储有计算机程序,所述计算机程序在由处理器载入并执行时能够用于实施前述的多图显示方法。
附图说明
下面结合具体的实施例,并参照附图,对本公开的其它特征做进一步的描述。在附图中,相同的或对应的技术特征或部件将采用相同或对应的附图标记来表示。
图1示出能够实施本公开的实施例的计算机系统的硬件配置的框图;
图2示出根据本公开的实施例的多图绘制程序的配置的框图;
图3-4示出根据本公开的实施例的多图绘制程序在显示装置上显示的屏幕快照的配置;
图5示出根据本公开的实施例的多图显示方法的流程图;
图6示出根据本公开的实施例的在单个划分步骤中使用的切分模式的示意图;
图7示出根据本公开的实施例的在单个划分步骤中使用的尺寸模式的示意图;
图8示出根据本公开的实施例的在单个划分步骤中使用的网格模式的示意图;
图9示出根据本公开的实施例的单步划分操作的流程图;
图10示出根据本公开的实施例的多步骤划分操作的流程图;
图11示出根据本公开的实施例的固定程序流程的多步骤划分操作的流程图;
图12-图13示出根据本公开的实施例的多步骤划分操作的示意图;
图14示出根据本公开的实施例的多步骤划分过程的参数输入界面的示意图;
图15示出根据本公开的实施例的通过人机交互形成初始划分数据的流程图;
图16示出根据本公开的实施例的在人机交互过程中显示的菜单的示意图;
图17示出根据本公开的实施例的在人机交互过程中显示的设置窗口的示意图;
图18示出根据本公开的实施例的矩形分区域和金融图形的边界线的示意图;
图19示出根据本公开的实施例的矩形分区域和金融图形的边界线的示意图;
图20示出根据本公开的实施例的组合矩形分区域的示意图;
图21示出根据本公开的实施例的历史回放操作的流程图;
图22示出根据本公开的实施例的矩阵组生成操作的流程图;
图23-25示出根据本公开的实施例的矩阵组的屏幕快照;
图26示出根据本公开的实施例的矩阵组与金融品种集合相关联的流程图;
图27示出根据本公开的实施例的用矩阵组显示指标排序结果的流程图;
图28示出根据本公开的实施例的用矩阵组显示指标运算结果的流程图;以及
图29示出根据本公开的实施例的矩阵组的变动操作的流程图。
具体实施方式
图1图示了用于实施本公开的各实施例的计算机系统100的硬件配置的示例。应当注意的是,该硬件配置仅仅是示例,并且可以采用包括与所示硬件不同的硬件的计算机系统,例如可以移除不必要的组件,也可以向其添加附加的组件。计算机系统的示例包括个人台式计算机、工作站、服务器、和移动设备比如移动电话、笔记本电脑、平板电脑、个人数字助理(PDA)等。此外,计算机系统100不仅适用于针对键盘和鼠标的操作系统,如Windows、MacOS和Linux等系统,也适用于针对触摸屏的操作系统,如Android和iOS系统。
计算机系统100包括经由通信总线103连接的处理单元101、随机存取存储器RAM102和以及经由通信总线连接的输入单元104、存储单元105、通信单元106、图形单元107。程序可以预先记录在存储单元105中。存储单元105包括例如:软盘,磁性硬盘,固态硬盘,CD_ROM光盘,DVD光盘,MO磁光盘,USB闪存盘等。在另一实施例中,还包括连接于总线上的只读存储器ROM。
处理单元101包括中央处理单元(CPU)并且全面地控制在计算机系统100处执行的处理。例如,处理单元101执行下面描述的图2中所示的各操作。
输入单元104配置有键盘、鼠标、触摸面板等。另外,如果通过对输入单元104的用户操控等、向计算机系统100输入相关命令,CPU101把存储单元105中的本文中实施例的程序加载在RAM 102上以执行程序。
另外,还可以通过通信单元106如网络适配器连接的有线网络或无线网络,把程序下载到计算机系统中并执行。
显示单元108显示由在计算机系统上运行的软件绘制的屏幕输出。显示单元的示例包括LCD、LED显示器、CRT显示器、投影设备和触摸屏等装置。显示单元的数量不限于图1中所述的一个,也可以是多个,从而实现扩展的显示。
图形单元107控制各图形在显示单元108上的显示。具体而言,图形单元107与例如图形控制器(图形处理单元GPU)对应。
图2是图示根据本公开的实施例的在计算机系统100上实现的多图绘制程序200的配置的框图。如果将多图绘制程序200安装到计算机系统100中的存储单元105中,那么处理单元101能够读取存储单元105中的程序并执行其中的指令,以实现本文所述的一个或更多个实施例,例如执行图2中所示的操作。在以下描述中,为了方便,由处理单元101执行的各种类型的处理也被描述为由本文实施例的多图绘制程序200执行。例如,“其中安装有多图绘制程序200的计算机系统100的处理单元101执行指令来执行处理”的描述可被简化为“多图绘制程序200执行处理”的描述。
另外,本实施例的程序可以由一个计算机(处理单元)执行,也可以由多个计算机以分布式的方式处理。另外,可以把程序传输给远程计算机执行。
位置确定单元201在显示窗口内确定各金融图形的位置。矩形分区域确定单元202在显示窗口内确定多个矩形分区域使得单个矩形分区域内包含的金融图形的金融品种相同,矩形分区域的细节在后面描述。特征设置单元203设置各金融图形的金融特征。品种设置单元204设置各矩形分区域内的金融图形的金融品种。绘制单元205负责绘制各金融特征、金融品种等已确定的金融图形。本段中各单元为程序中执行一定操作的虚拟单元,其代码可能相互交叉。各个操作的具体实施方式将在后面具体描述。
首先,介绍用于描述实施例所需的术语。
“显示窗口”是指在显示单元的显示屏幕上程序框架窗口的客户区内用于绘制多图的最大区域。本文各实施例中,可充满整个屏幕的程序框架窗口的客户区,被一个视图窗口所覆盖,此视图窗口即为显示窗口。以显示窗口左上角点为坐标原点,原点向右为X方向,向下为Y方向,以像素为坐标值。也可采用其它坐标系统。
子窗口:本文中指显示窗口内所包含的窗口,其父窗口或者更高级别的父窗口为显示窗口本身。
矩形区域:在显示窗口内逐步确定金融图形位置的每一步骤中,所确定的显示屏幕上的一个矩形区域,包含了下述的最终矩形区域和矩形分区域。
最终显示区域:金融图形所在的矩形区域,不需要再划分。
“矩形分区域”是指显示窗口内的矩形区域,并且具有如下特性。
第一,包含的所有金融图形都具有相同的金融品种代码,例如股票代码。无论是在初始设置时,或是在人机交互时设置其内部一个金融图形的品种代码时,矩形分区域内部各金融图形的品种代码都自动保持一致。所以,一个矩形分区域对应于一支金融品种。例如,用鼠标点击矩形分区域内的任一图形后,再用键盘输入新的股票代码,则此矩形分区域内所有的金融图形都变成与新代码对应的图形。
第二,矩形分区域内部的矩形的金融图形的数量、布置和尺寸任意。数量的上限只受显示窗口大小的限制。图形的布置包含水平布置、竖直布置、或者二者的混合。此外,每个图形的尺寸可根据需要或根据金融特征的尺寸要求而设定。
第三,内部多个金融图形的金融特征可为任意组合:或为周期图形与非周期图形组合,或为周期图形的组合,或为非周期图形的组合。而且,各图形的金融特征可独立地设置,并且其组合的次序可任意。
下面以股票作为金融品种的示例来说明本公开的多图显示方法,但是应当理解,以下说明也适用于其他金融品种的多图显示方法,并且仅是示例而并非限制本公开。
图3表示了通过执行图2的多图绘制程序200在显示单元上显示的屏幕快照的示例。本快照及以后所列举的快照,在本公开中仅为示例,本公开的多图显示不限于这样的示例。同时,快照中的金融图形的绘制,包括其中的文字和数字,均为现有技术,本文不再赘述。
如图3所示,显示窗口内包括由圆角虚线框标示的五个矩形分区域31-35。在矩形分区域31中,从左至右显示了一支股票的分笔成交图和买卖详情图。在矩形分区域34中,显示一支股票所处于的板块的股票列表,板块是相同属性的金融品种的集合。在矩形分区域35中显示了一支股票的9个周期图形,其周期特征都标注在各图形的右上角。在本文各实施例快照中,各周期图右上角的Tick、1M、30M、60M、120M、Day、Week、Month表示的金融特征分别为分笔、分时、30分钟、60分钟、120分钟、日、周、月。在本文示例中,矩形分区域31、34、35形成一个组合矩形分区域,共同显示第一支股票的各种金融图形,因此该股票在各种周期特征下的状态非常清楚,是该显示窗口内的主要金融品种。
在同一显示窗口内,还有矩形分区域32、33,分别显示了指数和另一支同板块的金融品种,各有四幅周期图形,其金融特征分别为1M、60M、120M、Day。同时注意到,在矩形分区域35中,也存在具有上述相同金融特征的第一支股票的四幅图形。所以,在同一显示窗口内,显示了三支股票,并且每支股票都显示了四幅具有上述相同周期金融特征的金融图形。所以,在显示窗口内两个以上矩形分区域含有多个周期金融图形的情况下,使至少两个所述矩形分区域之间有至少两幅周期图形的金融特征相同,即在所述两个以上矩形分区域内,至少存在一个矩形分区域,其内部至少有两幅周期金融图形的金融特征,分别与另一个矩形分区域内的相同数量的金融图形的金融特征相同。这样不用切换,就实现了多金融品种的多周期图形的同屏对比,具有全面高效的对比效应。
上述快照虽然展示了主要金融品种的尽量多的金融图形,但也有缺点,就是整个显示窗口中只有三支股票。
为了显示尽量多的金融品种,本公开实现了图4的快照所显示的实施例。图4中最上一行为矩形分区域410,显示了一支股票的多个金融图形。下面每幅图形就是一个矩形分区域,周期金融特征相同,金融品种不同。按先每行从左到右、后各行从上到下的方式编号分别为420~439。在实施例中设置了矩形分区域420~439都与矩形分区域410动态关联。动态关联后面详述,在此处的含义就是,用鼠标点击矩形分区域420~439中任一幅图形,矩形分区域410内所有金融图形的金融品种立即切换成与所点击的金融图形相同的股票。由于这种切换仅是重绘显示窗口内的局部区域,相对于重绘显示窗口内的所有金融图形,其速度要快很多。
此实施例实现了在所述显示窗口内仅一个矩形分区域含有多个周期金融图形的情况下,所述显示窗口内的其它矩形分区域中的全部或一部分与所述一个矩形分区域动态关联。虽然也有切换,但在切换过程中矩形分区域420~439中的多支股票的单幅金融图形保持不变,所以仍然保持了一幅周期金融特征图形的同屏对比。同时,可以通过简单的操作比如点击,使显示窗口内的局部区域即矩形分区域410中的股票快速切换,实现相邻或不相邻的股票的其它金融图形在屏幕上同一位置的快速对比。所以,仍然具有多金融品种全面高效对比的效应。虽然有了显示窗口内局部的图形切换,但是显示窗口中容纳的金融品种更多了。所以,与图3的快照适于重点观察一支金融品种在多种金融特征下的状态相比,本快照更适于监控多支金融品种,即当发现矩形分区域420~439中的某支股票出现异动时,点击其图形,就可以在矩形分区域410中观察此股票的其它金融图形,并快速做出决策。
在以上图3和图4的实施例快照中可以看出,至少一个矩形分区域容纳一个金融品种的多幅金融图形,多角度显示金融品种状态;同时,同一显示窗口内有多个矩形分区域,显示多支金融品种。这样不用切换或仅通过简单快速切换,就能实现多支金融品种在多个金融特征下的全面高效的对比。虽然周期图形和非周期图形均可以对比,但周期图形能反映金融品种的价格走势。同时,矩形分区域本身为矩形,其优点是简单并且整齐,使得用户易于识别出金融品种所在的区域,即易于识别出同属于一支金融品种的金融图形。在屏幕尺寸越来越大并且一个屏幕上可能有二三十幅以上金融图形的情况下,这点显得尤为重要。
以下详细说明根据一个实施例的矩形分区域的软件实现。
本文中所有有关实施例的代码部分,均采用面向对象编程机制,例如利用VC++编写,并充分利用C++标准库。但为了突出重点,简化了部分语法,包括省略或减少了函数的形式参数,用文字说明表示部分代码等,但本领域技术人员应该能够据此进行实施。
采用面向对象方法,金融图形对应的类被定义如下:
程序中还定义了金融图形类的对象、即金融图形对象的总容器,用于存放显示窗口内的所有金融图形对象指针。容器是一种存放多个相同类型对象的数据结构,类似数组。此处采用标准库容器std::vector。
显示窗口内的矩形分区域的实现有两种方法,首先是容器法,即采用面向对象的方法,定义矩形分区域类,为包含金融图形对象指针的容器:
从上面可看出,当设置一个金融图形的代码时,比如新的代码为“SH600000”,调用金融图形对象的FinancialChart::SetCode(“SH600000”)函数时,其内部又调用所在矩形分区域的RectangularSubregion::SetCodeAll函数,该函数逐个访问成员变量m_contOfFinancialChart中的金融图形,使得矩形分区域内部的所有金融图形的m_strCode均为同一代码,从而保证了矩形分区域内部的金融图形的代码均相同。程序中还定义了矩形分区域对象的总容器,用来存放显示窗口内的所有矩形分区域对象指针。在一个实施例中,在显示窗口的绘图函数中,调用其中的每一个矩形分区域对象的RectangularSubregion::Draw函数,进而调用其内部每个金融图形的FinancialChart::Draw函数,最终完成显示窗口内所有金融图形的绘制。
矩形分区域的实现,还可用静态关联的方法,即不定义专门的矩形分区域类,而将金融图形对象通过静态关联的方式连接起来。本公开中,静态关联的含义是,在一个类的定义中设置一个本类对象指针,通过此指针将本类多个对象以闭环方式串联;并且当设置一个对象的信息时,比如金融品种代码,还需通过此关联指针自动设置其它的串联对象。
比如,在另一实施例中,金融图形类FinancialChart要做出如下修改:去掉m_pRectSubregion参数,增加FinancialChart*类型的m_pNextChart变量,作为静态关联指针,同时修改SetCode函数。
在使用时,比如有三个金融图形对象A、B、C,首先一次性地设置三者关联:
A.m_pNextChart=&B;//A关联B
B.m_pNextChart=&C;//B关联C
C.m_pNextChart=&A;//C又关联A
即使用静态关联指针将A、B、C串联,最后C又指向A形成闭环方式串联。
然后,如果要设置任一对象比如对象B的金融品种为字符指针pFinancialCode所指向的名称,则调用B.SetCode函数,函数中通过循环结构执行如下操作:
B.m_strCode=*pFinancialCode;//设置B的金融品种
FinancialChart*pNextChart=B.m_pNextChart;//此时pNextChart指向C;
pNextChart->m_strCode=*pFinancialCode;//设置C的金融品种
pNextChart=pNextChart->m_pNextChart;//此时pNextChart指向A;
pNextChart->m_strCode=*pFinancialCode;//设置A的金融品种
pNextChart=pNextChart->m_pNextChart;//此时pNextChart指向B;
//此时因B对象已经设置过,故不再设置,函数返回。
调用此函数后,会依次设置对象B、C、A的金融品种,并在pNextChart指向最开始的对象B时返回,这样,就可以保证静态关联的对象所显示的金融品种总是一致,即三幅金融图形所组成的矩形分区域总是显示一支金融品种。形成静态关联的对象不限于三个,可为二个、四个及更多。
金融图形对象静态关联后,如果需要取得所在矩形分区域位置,可按如下方法:逐个访问静态关联的每个金融图形,分别求得X、Y坐标都同时最小和都同时最大的两个点,即矩形分区域的左上点和右下点,从而确定其位置。
在静态关联法的实施例中,当金融品种等金融信息设置完成后,可逐个调用金融图形的对象总容器中的每个金融图形对象,完成显示窗口内多图的绘制。
在容器法的实施例中,因为矩形分区域有单独的类,所以有更好的扩展性和灵活性,在后面的描述中可以看出来。本文后面的实施例,如未特别说明,均指按容器法实施。而对于静态关联法,可以通过静态关联指针遍历所有的金融图形,得到全部属于单个矩形分区域的一组金融图形,从而转换成类似容器法。所以,本领域技术人员可以参考容器法实施例的原理,完成静态关联法的相应实施例。
下面参照图5的流程图来描述根据本公开的实施例的多图显示方法。
在本实施例中,图5中的流程图中所示的处理在作为起点的时间点开始,在该时间点,多图绘制程序200初始运行来绘制各图形,或者重新绘制图形。应当指出,图5中并未限定各步骤的顺序,只是表明所具有的步骤。
在步骤S501中,计算机系统100的处理单元101执行指令来执行,或者简单地说,多图绘制程序200执行,在显示窗口内确定各金融图形的位置。
本实施例的程序采取对显示窗口进行多步骤划分的方法,逐步确定每一金融图形的位置。在多步骤划分的第一划分步骤中,设置整个显示窗口为目标矩形区域,即,将要在其内部进行划分的矩形区域。然后在每一后续划分步骤中,设置显示窗口内在前面划分步骤中划分出来的一个矩形区域作为目标矩形区域,再进行划分,直到划分出所有金融图形所在的矩形区域为止。由于金融图形所在的矩形区域不再划分,故可称最终显示区域。
在单个划分步骤中,能够使用以下各种划分模式中的任一种:
(1)切分模式,沿X方向或Y方向将目标矩形区域等分成多个部分。比如图6中,从上至下把目标矩形区域600进行5等分,其中5为划分参数;
(2)尺寸模式,沿X方向或Y方向按固定的尺寸划分目标矩形区域。比如,如图7所示目标矩形区域700,在X方向上用划分参数为100、100、150、100的像素尺寸划分。但如果此模式下所述尺寸的总和与目标矩形区域在划分方向上的实际总长不相等,则将每个像素尺寸作为比例值划分所述实际总长。比如在图7中如果水平方向实际总长为900,大于划分模式下的尺寸总和450,则按100:100:150:100的比例划分所述实际总长900。
进一步,在采用尺寸模式定位金融图形的位置时,如果两个以上金融图形要作为一行或一列排列于待划分的目标矩形区域中,其尺寸根据其金融特征预先设定。如图3中的矩形分区域32和33,图4中的矩形分区域410,采用尺寸模式时,预先设定日K线图的宽度为150,其它K线图和分时图的宽度均为100,而非周期图形如买卖详情图和分笔成交图的宽度分别为100和120。所以直接输入金融特征,就可根据预先的设定确定各金融图形的宽度尺寸,再按尺寸模式进行划分,故称之为根据金融特征的尺寸模式。
(3)网格模式,其中沿X方向和Y方向通过切分模式将目标矩形区域划分成多个部分。比如图8中把目标矩形区域800均分为5x2个矩形分区域,其划分参数为Y方向的等分数5和X方向的等分数2。进一步,每个方向上也可以通过尺寸模式划分。
(4)坐标模式,其中采用点的坐标对目标矩形区域进行划分。例如,即直接输入图8中目标矩形区域800内的一个矩形区域801的左上角点和右下角点的坐标,就确定了矩形区域801。由于显示窗口总是被各种大大小小的矩形区域所划分,所以此方法适于各种情况。但是,此方法一次输入的划分参数为一对坐标,只能形成一个新的矩形区域,所以对于多个矩形区域,输入量大,效率低。另外此方法要求各新的矩形区域要无缝拼接,所以对数据准备的要求高。
应当注意,在以上的切分模式、尺寸模式、网格模式中的每一模式中,其内部参数设置不同,新增的矩形区域的数量也可以不相同。比如,对于一分为五的切分模式,或者有五个尺寸值的尺寸模式,原来的一个目标矩形区域变成了五个矩形区域,相当于新增了四个矩形区域;而一分为二的切分模式,或只有两个尺寸值的尺寸模式,只新增了一个矩形区域,因此这被认为是不同的单步划分方式。网格模式一般都对应新增多个矩形区域的单步划分方式。也就是说,只有使用相同的划分模式并且划分模式内与新增的矩形区域数量有关的参数相同,在本公开的意义上才是使用相同的单步划分方式。本程序可实现在单个划分步骤中采用多种划分方式中的一种,进一步采用多种划分模式中的一种,最终确定金融图形和矩形分区域的位置。
在步骤S502中,处理单元101执行指令来执行在显示窗口内确定多个矩形分区域使得单个矩形分区域内包含的金融图形的金融品种相同。
如前所述,矩形分区域是具有同一金融品种的金融图形的集合。在一个采用容器法的示例中,在上述步骤S501的执行过程中,可以把在某一划分步骤划分出的新的矩形区域直接确定为矩形分区域。该矩形分区域内在后面步骤中被划分出的金融图形都被设置为具有同一金融品种。无论容器法还是静态关联法,也可以不在划分过程中确定所有矩形分区域,而在划分结束后,对于仍然未确定所属矩形分区域的金融图形,将其中具有同一金融品种、并且位于同一矩形区域的一个或多个图形,加入到一个新的矩形分区域中。
在步骤S503中,处理单元101执行指令来执行设置各金融图形的金融特征。在确定了图形的金融特征后,就可确定所需数据以及数据的表现特征,比如,如果是周期特征,就能确定周期图形上单个图形元素所代表的时间范围,反之亦然。还可根据金融特征确定默认的图形元素、默认的指标等。这些都属于现有技术。
在步骤S504中,处理单元101执行指令来执行设置各矩形分区域内的金融图形的金融品种。例如,调用前面实施例中的FinancialChart::SetCode函数,在设置任一金融图形的金融品种时,其所在矩形分区域内其它金融图形自动也做相同设置。
尽管未示出,但图5中的流程图不限于上述步骤,还可包括其他步骤。例如在确定了金融特征和金融品种后绘制金融图形的步骤,此属于现有技术,不再赘述。
以下详细说明根据一个实施例的多图显示方法的划分步骤和划分模式的程序实现。如前所述,由于在多步骤划分中的每个划分步骤,能够使用多种划分模式中的一种,即每个划分步骤对应了一种划分模式,所以,代表单个划分步骤的单步划分对象,同时也是一个划分模式类的对象,即划分模式对象。划分模式有多种,所以相应的划分模式类也有多种。实施例采用多态处理方法,为所有的划分模式类,定义一个共同的基类。由于每种划分模式对应了一种单个划分步骤,所以这个共同的基类可称为单步划分基类,即classSinglePartitionBase{…},然后以此派生各种划分模式类。
单步划分基类包含如下需要初始设定并在划分过程中使用的变量:待划分的目标矩形区域的编号,目标矩形区域是否是矩形分区域,划分后新产生矩形区域的金融特征。
其中,目标矩形区域的编号,可采用(M,N)的形式,表示目标矩形区域在序号为M的步骤中划分出来,并且是新产生的序号为N的矩形区域,其中M、N都从0开始计数。例如,序号为2的步骤中新产生的序号为3的矩形区域,其编号为(2,3)。显示窗口对应的最初的目标矩形区域,编号为(-1,0)。新的矩形区域在目标矩形区域中的序号,可采取以每个新的矩形区域的左上角点为代表点,以此点坐标按如下原则顺序编号:Y坐标越小编号越小,Y坐标相同时X坐标越小编号越小。简单地说,就是对于切分模式和尺寸模式,根据划分方向按从左至右或从上至下的顺序编号。对于网格模式,按先每行从左至右、后各行从上到下的顺序编号,例如图4中矩形分区域420~439的顺序。按如此编号,每个矩形区域可以找到自身所处的上一级别的矩形区域,直至显示窗口。
划分后新产生矩形区域的金融特征,可以是某具体的金融特征值,表示此新产生矩形区域为一金融图形,不需要再划分;也可以是某非金融特征的特定值,比如-1,表示此新产生矩形区域不是金融图形,还需再次划分。单步划分后新产生的矩形区域,如未设置金融特征,则默认金融特征的值就为-1。
在单步划分基类中还包括,单步划分虚函数,单步序列化虚函数,可根据具体的划分模式来实现。
对于不同的划分模式类,都直接或间接从SinglePartitionBase派生,比如对于切分模式,可定义如下类:
其中,m_nEqualPartition表示将目标矩形区域等分的数量,决定了切分划分后新增加的矩形区域数量为m_nEqualPartition-1,是与新增矩形区域的数量有关的变量。
对应于单个划分步骤的划分模式类的定义,参见下表:
每个单步划分模式类中与新增矩形区域的数量有关的变量,对应于划分模式中与新增矩形区域的数量有关的参数。在划分模式类的对象中设置此变量为不同数值,可以产生多种单步划分方式。通过确定所述与新增矩形区域的数量有关的变量,每个划分模式对象也就确定了一个单步划分方式。
以上各派生类都要重写基类中进行具体单步划分的虚函数PartitionDestinationRect(),这是这是典型的面向对象编程之多态的应用。对每一单步划分,具体的流程如图9所示:
(1)开始(S901)后,根据单步划分对象中目矩形区域的编号,确定待划分的目标矩形区域(S902)。
(2)判断目标矩形区域是否被初始设定为矩形分区域(S903),如是,则产生一个矩形分区域RectangularSubregion对象,设置其表示所在矩形区域的成员变量m_rectOfSubregion为此目标矩形区域,并将该矩形分区域对象加入到其总容器中(S904);如为否,则直接进入步骤S905。
(3)根据单步划分对象的划分模式及参数划分目标矩形区域(S905),产生新的矩形区域,具体实施方式,参见在前述S501步骤中对图6~8所示的划分模式的相关描述。
(4)判断是否获取到一个新产生的矩形区域(S906)。
(5)第(4)步如果成功,则通过读取此新的矩形区域的金融特征来判断其是否对应了一幅金融图形(S907)。如果结论为否,则记录此矩形区域,包括其编号和位置,以待后续划分(S908),然后返回步骤S906。如结论为是,则创建一个金融图形对象,设置其金融特征(S909)。然后加入此新创建的金融图形对象到其总容器中(S910)。最后还需判断此金融图形对象是否位于一个已确定的矩形分区域内(S911),即判断目标矩形区域或其上级的矩形区域是否是一个矩形分区域。如是,则还需将此金融图形加入到此矩形分区域的对象内(S912),然后返回步骤S906。如为否,则直接返回步骤S906。
(6)重复第(4)步,直至处理完所有新产生的矩形区域后,步骤S906返回否定结论,表示单步划分结束(S913)。
上面描述了单个划分步骤,下面具体描述多步骤划分过程。对于多步骤划分,定义多步骤划分类如下:
从多步骤划分类的基类可以看出,多步骤划分类本身是单步划分对象的容器,包含了一个或多个单步划分对象。另外,多步骤划分类还包含了一个金融图形编号组的容器,此容器可能包含一个或多个金融图形编号组,也可能为空。每一个金融图形编号组,都代表了一个未在划分过程中确定、需要在划分结束后确定的矩形分区域,故此容器称之为划分后确定的矩形分区域的容器。如果所有矩形分区域都在划分过程中确定,此容器为空,不含任何金融图形编号组。多步骤划分函数PartitionAll()实现的具体流程参见图10。流程开始(S1001)后,在所述单步骤划分对象的容器中,先按顺序获取一个单步划分对象,并判断是否成功(S1002)。如成功,则调用此单步划分对象的单步划分虚函数,按图9流程进行单步划分(S1003)。重复此过程,直至处理完所有单步划分对象,即步骤S1002返回为否。
然后在上述划分后确定的矩形分区域的容器中,按顺序取出一个与还未确定的矩形分区域对应的金融图形编号组(S1004),如成功,则创建新的矩形分区域对象,并将与此未确定的矩形分区域所对应的金融图形加入其中(S1005),并将此新的矩形分区域加入到其总容器中(S1006)。重复此过程,直至处理完所有要在划分后确定的矩形分区域。最后,判断是否还有不属于任一矩形分区域的金融图形(S1007),如有,则可以将其单独作为一个矩形分区域处理(S1008),即将此金融图形加入到一个新创建的矩形分区域对象中,并将此矩形分区域对象加入到其容器中。如没有,则结束(S1009)。
使用上述利用多步骤划分类MultiPartitions的对象进行划分时,特点之一在于,具体单步划分结果是完全根据包含了划分模式和参数的单步划分数据来确定。其中所述单步划分数据,可以用对象表示,比如上述多步骤划分对象中的单步划分对象,也可以不用对象表示,比如以C++语言中数据结构的形式表示,或者其它甚至没有结构化的数据,只要这些数据包含了划分模式和参数的信息,程序代码就能够识别并进行相应的划分。实施例根据图9所示流程,处理完全以数据、更具体的是对象数据表示的单个划分步骤,所以,这种方法可称为完全根据划分数据的多步骤划分。此方法特点之二在于,在单个划分步骤中,可以使用多种单步划分方式的任一种。因为此方法的划分结果是完全取决于划分数据的,而划分数据可以设置成多种划分方式,包括不同的划分模式或相同划分模式下不同的划分参数,对应了多种划分方式。所以,单个划分步骤,在比如图9中的S905步骤中,可以根据单步划分对象在初始设定时所确定的任一种划分方式的数据,进行划分,比如图6~8所示的划分。所以,此方法的单个划分步骤,能够使用多种单步划分方式中的任一种。此方法优点是程序能够处理使用者根据具体情况选用的最适合最高效的单步划分方式。
相对于上述利用多步骤划分对象来实现多步骤划分,对于一些特定布局,可以通过程序流程来实现。比如,对于如图24,可采用以下流程实现:
void PartitionGridRectSubregion(int nXCount,int nYCount,std::vector<int>contFinancialFeature),
其中,输入参数nXCount,nYCount分别为X方向和Y方向的等分数量,输入参数contFinancialFeature为一个矩形分区域内各图形的金融特征的数组。
此函数直接用代码实现了多种划分模式组合的多步骤划分。如图11,程序开始(S1101)后,首先设局部的整形变量i为0(S1102)。判断i是否小于nYCount(S1103),如是,则确定矩形分区域的Y方向坐标分别为i*(显示窗口的高度/nYCount),(i+1)*(显示窗口的高度/nYCount),其中“*”表示乘号(S1104)。如否,则程序结束(S1109)。然后设局部的整形变量j为0(S1105)。判断j是否小于nXCount(S1106),如是,则确定矩形分区域的X方向坐标分别为j*(显示窗口的宽度/nXCount),(j+1)*(显示窗口的宽度/nXCount),从而确定了矩形分区域的位置(S1107)。如否,则程序返回步骤S1103。然后利用输入的金融特征数组contFinancialFeature,采用前述根据金融特征的尺寸模式确定矩形分区域内各金融图形的位置(S1108)。
在上述定位过程中,变量i的循环过程相当于在显示窗口中利用切分模式,在Y方向上划分出nYCount行;对变量j循环的循环过程,相当于在前述步骤划分出的每行中,再次利用切分模式,在每行的X方向上划分出nXCount个矩形分区域。然后在S1108步骤中,利用根据金融特征的尺寸模式,确定了矩形分区域内的各金融图形的位置。当每个矩形分区域都处理完成后程序结束(S1109)。
例如,当需要绘制类似图24的图形时,仅需简单操作,比如通过点击系统菜单上的命令,弹出图14所示的菜单。根据矩形分区域在横向和竖向的划分数量,分别确定参数nXCount、nYCount为2、5,再确定金融特征为60M、30M、Day、1M,最后调用上述函数PartitionGridRectSubregion,实现各矩形分区域、金融图形的定位。
此方法较为简单地实现了特定布置的多图显示,其特点之一是采用了固定的程序流程,并且具体的单步划分结果,与所采用的固定流程有关,故称之为固定流程的多步骤划分。在实施此方法的上述PartitionGridRectSubregion函数中,通过代码而不是数据来实现划分模式,所以单个划分步骤的划分模式固定。此方法特点之二在于,在单个划分步骤中,可以使用多种单步划分方式的任一种。因为虽然有固定的程序流程,但如果在划分模式固定的前提下,划分模式中与新增矩形区域数量有关的参数,比如上述的nXCount、nYCount、contFinancialFeature参数,也可采用不同的值,所以也对应了多种单步划分方式。所以,单个划分步骤,在比如图11中的S1107或S1108步骤中,可以根据通过图14所示的人机交互菜单所确定的、划分模式固定前提下的任一种划分方式的数据,进行划分。所以,此方法的单个划分步骤,能够使用多种单步划分方式中的任一种。这种方法的优点是可以直接以代码实现具体的划分模式,实现相对简单、运行速度较快、并且划分模式中参数的设置也很简单。
在上述采用完全根据划分数据的方法的各实施例中,或采用固定流程的方法的各实施例中,有可能各步骤划分模式不同,也有可能各步骤划分模式相同但与新增矩形区域有关的变量不同。另外还有可能只有一个划分步骤,属于特例。
无论是上述完全根据划分数据的多步骤划分,还是固定流程的多步骤划分,如果在其划分数据或固定流程中,包含有多个矩形分区域,并且至少一个矩形分区域有多个金融图形,那么,绘图后在显示窗口就会显示多个矩形分区域,并且至少一个矩形分区域有多个金融图形,从而就可以在显示窗口实现多金融品种并且多金融图形的显示,从而提高浏览效率。
进一步,如果在上述划分数据或固定流程中,如果有两个以上包含有多个周期金融图形的矩形分区域,并且至少两个所述矩形分区域之间有至少两幅周期金融图形的金融特征相同,则绘图后在显示窗口内有两个以上矩形分区域分别含有多个周期金融图形,并且至少两个所述矩形分区域之间有至少两幅周期金融图形的金融特征相同,那么就可实现多支金融品种的多个周期金融图形的同屏对比,具有全面高效的对比效应。
或者,如果在上述划分数据或固定流程中,仅有一个矩形分区域具有多个周期金融图形,并且其它一个或多个矩形分区域与此矩形分区域动态关联,则绘图后在显示窗口内,仅有一个矩形分区域具有多个周期金融图形,所有其它矩形分区域内只有一幅周期金融图形,并且所述其它一个或多个矩形分区域动态关联于此矩形分区域,那么,如前所述,也能实现多支金融品种的多个周期金融图形的快速对比,也具有全面高效的对比效应。
进一步,在上述多步骤划分过程中至少有一个步骤,采用切分模式、尺寸模式或网格模式之一,并且在划分后增加多个矩形区域。如图12所示,1200为目标矩形区域,X方向长度为1400,要将其内部划分出4个矩形区域,长度分别为300,400,300,400。划分方法一是首先通过切分模式将其一分为二,如图12所示;然后分别在新产生的矩形区域1210、1220内采用尺寸模式,划分出新的矩形区域1211、1212和1221、1222,如图13所示。此方法一共三个划分步骤,需准备五个划分数据。划分方法二是仅采用尺寸模式,只需准备四个尺寸数据,一个步骤就划分出如图13所示的四个矩形区域。方法二无论是在划分步骤上或是数据准备量上,都明显优于方法一。如果图形更复杂数量更多,这种优势也更加明显。比如,对于图8所采用的网格模式的划分,只需两个划分参数,单个划分步骤就增加10-1=9个矩形区域。因为多步骤划分时单个划分步骤可以使用多种单步划分方式的任一种,所以在多步骤划分的至少一个单步划分步骤中,采用合适的划分模式比如切分模式、尺寸模式或网格模式之一,并且设置其参数为能够新增多个矩形区域的值,就能在单个划分步骤中通过单步划分对象的虚函数,更具体在S905步骤中,增加多个矩形区域,减少划分步骤。从而,一方面提高程序运行效率,另一方面能够减少使用者的数据准备工作量,能以更直接灵活的方式设定划分数据。
接下来描述关于划分数据的初始设定。
金融图形和矩形分区域的最终布置,都是使用者预先确定的,然后将其转化为数字化的布局信息,也就是初始划分数据,也是划分过程中实际用到的划分数据。初始划分数据的形成,包括以下几种实施方式:
第一是使用程序内置划分数据。使用时只需点击菜单、按钮或标签,就可实现多图绘制,特别方便。如本公开的图3、图4和图24的快照分别对应于显示窗口上部的“Layout5”、“Layout 3”和“Layout1”标签,即布局分别为5、3、1的标签,等等。此方法可适用于常用的金融图形布局,对使用者来说最为便捷。比如对于图24的快照,实施方式可以是,在上述PartitionGridRectSubregion函数中,其参数nXCount、nYCount分别为2、5,contFinancialFeature数组为60M、30M、Day、1M,都为内置固定的具体值。或者,设置一个内置的多步骤划分对象,其内部依次有1个进行5x2网格模式划分的单步划分对象,10个完全相同的、采用根据金融特征的尺寸模式、并且金融特征为60M、30M、Day、1M的单步划分对象。这两种方法分别对应了固定流程和完全根据划分数据的多步骤划分。这两种方法本身都可以使用多种单步划分方式中的任一种,因而在编写程序代码阶段,由于这些内置数据设置可以任意,所以也可以使用多种划分方式中的任一种。但程序编译完成后,由于受到划分模式和参数都内置固定的限制,故而实际运行时在单个划分步骤中,只能使用多种单步划分方式中固定的一种。进一步,至少在一个划分步骤中,可以设置划分模式为切分模式、尺寸模式或网格模式之一,并且设置其参数为能够新增多个矩形区域的值,使得在划分后能够增加多个矩形区域。
第二,还可以通过读取外部文件的方法实现。带有或不带有划分模式信息的划分数据,都可从外部文件中读取。例如在利用多步骤划分对象进行多步骤划分实施例中,在多步骤划分类中的序列化函数MultiPartitions::Serialize可将本类对象的内容以一定的格式写出到外部存储介质上,比如本地硬盘或通过网络连接的硬盘中的文件内,然后以相同的格式从其中读取。所以,如果其它的外部文件的数据格式符合此函数序列化存储格式,那么此函数也可读取此文件,生成一个多步骤划分的MultiPartitions对象。所以,外部文件的初始划分数据中的单个划分步骤,与多步骤划分MultiPartitions对象中的单步划分对象对应,故而也能同程序内多步骤划分对象的单个划分步骤一样,能够使用多种单步划分方式中的任一种。进一步,外部文件的初始划分数据中,至少与一个划分步骤对应的单步划分方式,为切分模式、尺寸模式或网格模式之一,并且其参数被设置为能够新增多个矩形区域的值,使得在划分后能够增加多个矩形区域。
第三,还可通过人机交互形成初始划分数据。例如在单步划分方式可选的多步骤划分的实施例中,可以采取如图15所示的如下方法:
1.开始(S1500)后,使用者首先选择目标矩形区域,比如点击其内部区域,程序检测到使用者点击目标矩形区域的操作(S1501),弹出如图16所示菜单1600。然后程序检测到使用者通过在菜单中选择的菜单项而发出的命令(S1502)。
2.程序先判断所述命令是否是设置划分模式的命令(S1503)。如是,则表明使用者在弹出菜单1600上选择划分模式1601~1605中的一种。然后程序弹出如图17所示的与所选划分模式对应的菜单,并接受使用者在此划分模式下设置的参数(S15031)。程序根据所述模式和参数,创建一个以SinglePartitionBase为基类的单步划分对象,加入到多步骤划分MultiPartitions的对象中(S15032)。此步骤中记录的划分模式及其参数,用于图9中的S905步骤。最后,程序根据输入的划分模式及参数对上述第1步所选的矩形区域进行划分,显示新划分的矩形区域,并记录其编号和位置(S15033)。其中编号可用于图9中的S902步骤,位置可用于在本流程后续操作中的S1501步骤中确定用户选择的目标矩形区域。
比如,如果在步骤S1502中选择菜单上的1601项“切分模式”,则程序弹出图17中由1710所示的切分模式设置窗口,设置参数后可使程序形成如图6所示的划分。如果选择1602项“尺寸模式”,则程序弹出由1720所示的尺寸模式设置窗口,或者选择1603项“根据金融特征的尺寸模式”后,弹出由1730所示的根据金融特征的尺寸模式设置窗口,设置参数后可使程序形成如图7所示的划分。如果选择1604项“网格模式”,则程序弹出由1740所示的网格模式设置窗口,设置参数后可使程序形成如图8所示的网格状划分。又比如,选择1605项“坐标模式”后,则程序弹出由1750所示的坐标模式设置窗口,设置合适坐标后可使程序在目标矩形区域产生一个新的矩形区域。
3.如果程序检测到使用者在菜单1600上选择1606菜单项“设置金融特征”(S1504),再弹出一个列有所有金融特征的菜单,并接受使用者在此菜单中选择一个金融特征(S15041),则程序记录此金融特征为目标矩形区域的金融特征(S15042)。比如,用户选择了具体的金融特征后,程序首先确定目标矩形区域的编号,比如为(1,2),表示目标矩形区域是在序号为1的步骤中产生的序号为2的矩形区域。然后找到序号为1的单步划分对象,设置其中新产生的序号为2的矩形区域的金融特征为用户输入的金融特征。此步骤记录的数据用于图9中的步骤S907和S909。
4.如果程序检测到使用者在弹出菜单1600上选择1607菜单项“设为矩形分区域”(S1505),则程序将记录此目标矩形区域为矩形分区域(S15051),所记录的数据可以用来设置后续步骤中针对此矩形分区域创建的单步划分对象,也可用于图9中的步骤S903。
5.如果程序检测到使用者在弹出菜单1600上选择1608菜单项“加入矩形分区域”(S1506),则程序将提示使用者输入一个或多个金融图形所在的矩形区域(S15061),然后将所选金融图形对应的一组金融图形编号,加入到多步骤划分对象中的划分后确定的矩形分区域的容器中(S15062)。此步骤记录的数据用于图10中S1004、S1005步骤。
6.如果程序检测到使用者在弹出菜单1600上选择1609菜单项“结束”(S1507),则结束划分设置(S1508),否则返回步骤S1501。
以上第2~5步骤完成后,均返回第1步骤。通过以上第1步骤分别与第2、3、4或5步骤的多次结合,完成多步骤的MultiPartitions对象的初始设定。完成的MultiPartitions对象,可以直接用于绘制图形,其中金融品种可用默认值设置。也可以按前述方式保存到外部文件中,以后可通过读取此文件完成多步骤划分对象的初始设定,进而绘制图形。
上述人机交互流程,产生了划分模式信息的初始划分数据,适用于各种情况布局,但设置起来也较复杂。而对于一些特定的布局,可以使用简单的人机交互,比如,前述图14的窗口。使用者只要输入网格模式下的nXCount、nYCount参数,以及根据金融特征的尺寸模式下的金融特征参数。程序内部获得这些划分数据后,可以采用前述方法进行划分。
从上面人机交互的实施过程中可以看出,在设置单个划分步骤时,可以通过同时设置划分模式和参数,或者仅设置固定划分模式下的划分参数,来使用多种单步划分方式的任一种。进一步,设置至少一种单步划分方式为切分模式、尺寸模式或网格模式之一,并且设置其参数为能够新增多个矩形区域的值,从而能够在划分后增加多个矩形区域。
在确定好金融图形和矩形分区域的位置后,在绘制金融图形的边界时,有不同的实施方式。
在如图3、图4所示的实施例的快照中,金融图形之间具有公共边界线,即同一边界是相邻金融图形共有的。在这种情况下,金融图形及边界线直接由包含多个金融图形的窗口比如显示窗口的绘图函数绘制;或者,金融图形由与其同等大小、并且自身没有边界线的子窗口的绘图函数绘制,而金融图形的公共边界线可由包含多个金融图形的窗口比如显示窗口统一绘制。这种情况下,由于边界线可由相邻两幅图形共有,并且可由程序控制其绘制使得其线条较细,比如一个像素,所以边界线在显示窗口内所占据的面积较小,从而可以绘制更多的金融图形。这在显示窗口内的金融图形有十几幅以上的情况下,效果更加明显。
又如,在图18中,每幅金融图形自带边界线。如果拖动图中1801的金融图形,则其边界线一起移动,并且不影响其他金融图形及边界线。在这种情况下,金融图形由与其同等大小、并且自带边界线的子窗口的绘图函数绘制。但和上述公共边界线情形不同的是,由于此子窗口自带的边界线的宽度或样式通常由操作系统控制,线条一般较粗,同时相邻图形之间有两条边界线,所以边界线在显示窗口内所占据的面积较大,从而不能绘制更多的金融图形。
在另外的实施例中,还需进一步在整体上突出显示矩形分区域所在范围,因此采用增强显示矩形分区域边界线的方法。
在矩形分区域内部的金融图形全都具有公共边界线情形下,比如在图3、图4所示的实施例快照中,矩形分区域之间的公共边界线,相对于其内部的金融图形的边界线,采用更粗线条绘制公共边界线,使用者可快速分辨出同一金融品种的金融图形所在整体区域,更快更清楚地区分不同金融品种并进行对比。同时,在其他实施例中,也可以用不同颜色的线条、或者不同颜色并且更粗的线条,来绘制矩形分区域的公共边界线。
在增强绘制边界的实施过程中,难点在于在有二三十幅甚至更多图形的显示窗口内,如何确定矩形分区域的边界线。由于本文实施例采用了矩形分区域的解决方案,很容易解决这个问题。无论容器法,还是静态关联法,都可按前面已述方法确定矩形分区域的位置。另外,绘制整个显示区域内的图形时,为防止重复,可以绘制每个矩形分区域右边和下边的边界线。而在金融品种变化时需要重新绘制单个矩形分区域时,则绘制其全部边界线。
图19所示的另一个实施例中,显示窗口0001内的矩形分区域1901、1902本身为子窗口,自带由操作系统控制宽度或样式的边界线,其窗口绘图函数负责绘制内部金融图形的公共边界线。两种边界线粗细不同,并且颜色也可以不同,故此种方式下的矩形分区域本身所在的窗口就有突出显示的整体效果。
在矩形分区域内部的金融图形不全都具有公共边界线情形下,比如图18所示的显示窗口0001内,子窗口1801~1803为一矩形分区域,边界线采用一种颜色,子窗口1804~1806为另一矩形分区域,边界线采用另一种颜色。无论是以上子窗口中都只有一幅金融图形,即所有金融图形都自带边界线,还是在以上至少一个子窗口的内部含有多个金融图形,由于一个矩形分区域内部的子窗口边界线与另一个矩形分区域内部的子窗口边界线颜色不同,即不同矩形分区域内的金融图形的边界线颜色不同,故而在整体上可以很清楚地区分二者。
综上所述,为了突出显示矩形分区域的整体范围,绘制矩形分区域之间的边界线,使之与其内部金融图形之间的边界线相比,线条更粗或/和颜色不同,或者,同一矩形分区域内金融图形的边界线颜色相同,不同矩形分区域内的金融图形的边界线颜色不同。
下面进一步描述本公开的其他实施例。
首先描述组合矩形分区域。
受显示区域或金融特征限制,属于同一个金融品种的多个金融图形可能不位于同一个矩形区域内,比如位于一个L形的区域中,所以要将其分配到多个矩形分区域内。但是,这多个矩形分区域内部的金融图形的金融品种需要保持一致,所以可以将所述多个矩形分区域组合起来。
组合矩形分区域实现可采用静态关联法。在一个实施例中,矩形分区域采用容器法实现,并且与前述的金融图形静态关联类似,将多个矩形分区域对象静态关联后可实现组合矩形分区域。以图3所示快照为例,在矩形分区域对象内设置有关静态关联的m_pSubregionOfStaticRelating指针,通过设置此指针将矩形区域31、34、35闭环方式串联起来,形成静态关联。在设置其中一个矩形分区域比如矩形分区域34的金融品种代码时,又通过此指针逐次找到其他两个矩形分区域35、31,并进行相同设置。
组合矩形分区域也可采用容器法实现。在另一个实施例中,直接用前述矩形分区域类RectangularSubregion的定义创建组合矩形分区域对象。对象内部m_contOfFinancialChart成员变量包含组合矩形分区域内所有金融图形的对象。除了因为不是矩形而导致m_rectOfSubregion成员变量不再使用,并且因采用容器法而使静态关联指针m_pSubregionOfStaticRelating作废,其它内部实现,比如金融品种的设置、绘制内部各金融图形等操作,均与矩形分区域对象相同。
进一步,还可突出显示组合矩形分区域本身所在的范围。
在一个金融图形采用公共边界线的实施例中,如图20所示粗线围成的阴影区域2001是图3中的矩形分区域31、34和35合并成的组合矩形分区域,其内部的矩形分区域的边界线没有突出显示。为了突出显示区域2001,先确定组合矩形分区域的边界线位置,然后将其绘制出来,所用线条与内部金融图形的边界线相比,线条更粗或颜色不同。确定组合矩形分区域的边界线的方法如下。在采用静态关联法实现组合矩形分区域的实施例中,对内部每个矩形分区域的每条边界线,与内部其它所有矩形分区域的所有边界线进行比较,确定没有重合的部分,并且记录下来;最后所有记录下来的所述没有重合的边界线,就是组合矩形分区域外围的边界线。而在采用容器法实现组合矩形分区域的实施例中,简单修改上述采用静态关联法实现组合矩形分区域的边界计算方法,直接以容器法中的金融图形取代所述计算方法中的矩形分区域。显然,静态关联法实现的组合矩形分区域在计算边界的过程中,采用矩形分区域而不是金融图形来确定没有重合的边界,而矩形分区域包含多个金融图形,其数量肯定是少于金融图形的,所以计算速度更快。
对于组合矩形分区域,也可按图3所示也突出显示内部的矩形分区域。因为组合矩形分区域内图形数量较多,通过突出显示内部的矩形分区域将多个金融图形分块或分类,也有较好的视觉效果。
在一个金融图形自带边界线的实施例中,类似于图18,组合矩形分区域内的所有金融图形的边界线都为同一颜色,并且与其它组合矩形分区域、不属于任何组合矩形分区域的独立矩形分区域的内部金融图形的边界线的颜色不同,这样也能区分不同的矩形分区域。
综上所述,为了突出显示组合矩形分区域的整体范围,绘制组合矩形分区域之间的边界线,使之与其内部金融图形之间的边界线相比,线条更粗或/和颜色不同,或者,同一组合矩形分区域内的金融图形的边界线颜色相同,不同组合矩形分区域内的金融图形的边界线颜色不同。
下面参照图4来描述根据本公开的实施例的矩形分区域之间的动态关联。
处理单元101可以执行指令来设定源矩形分区域与目标矩形分区域动态关联。动态关联与前述的静态关联的相似之处在于,都是将源矩形分区域的金融图形信息传递给目标矩形分区域,并且在目标矩形分区域内进行相同设置。金融图形信息包括以下至少一项:金融品种代码、金融品种的集合、或最后显示时间。
动态关联与静态关联的最重要区别在于传递金融图形信息的时机。静态关联是在源矩形分区域设置金融图形信息时程序自动传递该信息,而动态关联是在源矩形分区域已经绘制完成之后,通过在源矩形区域的金融图形上的人机交互操作,发出改变目标矩形分区域的金融图形信息的命令时,将金融图形信息传递给目标矩形分区域。动态关联的一个实施例的快照示于图4,在前面已详细描述。动态关联的程序实施如下:
(1)设置源矩形分区域与目标矩形分区域相关联,比如,设置图4中源矩形分区域420~439对象中的对象内的RectangularSubregion::m_pSubregionOfDynamicRelating成员变量指针,指向动态关联的目标矩形分区域410。
(2)当检测到在所述源矩形分区域内的金融图形上由人机交互操作发出的用于改变所述目标矩形分区域的金融图形信息的命令,比如检测到用户在矩形分区域425的第一幅金融图形上通过点击操作发出的动态关联命令,所述目标矩形分区域410采用由所述源矩形分区域425的金融图形提供的金融图形信息进行设置,比如在源矩形分区域对象内进行如下操作:
std::string strSourceCode=“SH600009”;//获得源矩形分区域425的金融品种代码为SH600009;
m_pSubregionOfDynamicRelating->SetCode(strSourceCode);//设置动态关联的矩形分区域410的金融品种代码。
这样,源矩形分区域425的金融品种信息被传递到动态关联的目标矩形分区域410。当然,也可传递最后显示时间、金融品种集合等其它金融信息。
(3)重绘目标矩形分区域。比如采用了新的金融品种,重绘目标矩形分区域以显示新的金融品种的各金融图形。
在另一个实施例中,源矩形分区域与目标矩形分区域还可位于不同的显示窗口中。此外,两个显示窗口可以位于两个显示单元中。
下面描述矩形分区域与金融品种集合相关联的实施例。
在另一个实施例中,处理单元101可执行指令以设置矩形分区域与目标金融品种的集合相关联。金融品种的集合也叫板块,在实施例中通过金融品种的容器来实现,可便于管理金融品种。在检测到对该矩形分区域执行在所述集合内浏览金融品种的操作命令的情况下,将此矩形分区域内所有金融图形的金融品种都设置为在所述集合内与该矩形分区域的当前金融品种相邻的金融品种。
在程序实现时,可通过设置矩形分区域类RectangleSubregeion定义中的m_strOfAssemblage变量,其含义是与矩形分区域关联的目标金融品种的集合的名称。所述集合的名称可在程序中预先设定,也可通过人机交互方式进行修改,比如,在图3快照的实施例中,用左键点击矩形分区域35内的某个图形,然后在弹出的菜单中选择相关联的金融品种的集合,比如“Block B”。然后在图3的快照中,矩形分区域35显示当前的金融品种为板块“Block B”中序号为0的金融品种。当用户发出向后浏览的命令后,比如鼠标移动到矩形分区域35内任一金融图形内并后向滚动鼠标滚轮,程序接受到此命令后,从板块“Block B”中取出与当前金融品种后面相邻的、比如序号为1的金融品种,然后以此金融品种调用矩形分区域对象的SetCodeAll函数,矩形分区域35将显示此金融品种。然后用户又前向滚动鼠标滚轮,发出向前浏览的命令,程序接受到此命令后,从板块“Block B”中取出与当前金融品种前面相邻的、比如序号为0的金融品种,然后以此金融品种调用矩形分区域对象的SetCodeAll函数,则矩形分区域35又将重新显示序号为0的金融品种。
下面描述历史回放的实施例。
金融图形根据与时间相关的金融数据绘制。金融数据包括了交易中产生的分笔数据、一分钟数据、日线数据等,总是对应了一个时间范围,比如从金融品种上市到当前交易时间。周期图形的最后显示时间,即最右侧的图形元素所对应的时间,默认对应于此时间范围内最后的金融数据。类似地,非周期图形也默认显示最后的金融数据。所以,通常金融图形的最后显示时间不需单独确定。
在需要回顾或学习以提高交易水平的情况下,可以进行历史回放。历史回放就是将金融图形的最后显示时间的设置提前以查看历史走势。现有技术可以对单幅金融图形历史回放。但对于同一矩形分区域内属于同一金融品种的多个金融图形,为了全面地回顾历史状态,需要通过简单操作,至少对多幅周期图形包括分时图、K线图,设置相同的最后显示时间,以便同步地进行历史回放。
处理单元101还执行指令以设置历史回放,具体流程参见图21。首先使用者发出历史回放命令(S2101),比如点击K线图上非最后一根K线,在弹出菜单上选择历史回放命令。然后确定历史回放的时间点(S2102),比如所述K线的结束时间,或者弹出一个窗口接受使用者直接设置的历史时间。之后,还确定需要进行历史回放的目标矩形分区域(S2103),通常是所述K线图所在的矩形分区域,或者是所述K线图所在组合矩形分区域中的多个矩形分区域。获取其中一个未回放的目标矩形分区域(S2104),如果成功,则依次获取此矩形分区域内的一个金融图形(S2105),然后判断此金融图形是否需要历史回放(S2016)。是否需要历史回放可预先设置为,比如所有周期图形都需要回放。如果需要回放,则调整此金融图形的最后显示时间为所述历史回放的时间点(S2107)。一个矩形分区域设置完成后,再获取下一个矩形分区域(S2104),直到所有矩形分区域设置完成后结束(S2108)。本段所述S2104~S2107就是调整所述目标矩形分区域内的目标金融图形的最后显示时间为所述历史回放时间点的一个实施方式。
在另一实施例中,在矩形分区域内的一些连续布置的图形的金融特征相同的情况下,也可以设置这些图形的最后显示时间不同。例如,可设置连续布置的多个分时图的最后显示时间为连续的交易日。如图3中矩形分区域35中的连续的三个分时图是连续三个交易日的分时图。在历史回放时,可以通过人机交互操作来设置这些图形的最后显示时间,并且在历史回放后仍然连续地显示历史状态。
下面描述矩阵组的实施例。
在又一个实施例中,确定多个矩形分区域的步骤S502包括:在所述显示窗口中确定大小相同并对齐排列的多个矩形分区域,并且各个矩形分区域内的各金融图形的数量、相对位置、尺寸以及金融特征的组合均相同,从而形成以行和列方向上的矩形分区域的数量为维度的矩阵组。
图24示出矩阵组的一个示例性屏幕快照,其内部矩形分区域的划分参见图8,一共5行,每行2个,是5x2的矩阵组,且每个矩形分区域含有4个金融图形。图23是5x1的矩阵组,内部矩形分区域划分参见图6。图25是2x5的矩阵组。由此可见,这种布置简单整齐,易于观察。并且,因为对齐排列,不同矩形分区域内的金融图形还位于同列或同行。这种布局不仅省略了大量的切换操作,能够同屏对比,而且还具有更加直观更加明显的同列或同行的对比方式,产生了更好的全面高效的对比效应。所以,矩阵组不仅大幅提高浏览效率,而且还将金融品种的多图显示从一维显示扩展成更加直观的二维显示。
矩阵组的实施例之一,可以将矩阵组内的矩形分区域当作一般的多个矩形分区域的处理,按如图10所示一般的流程进行划分。
矩阵组的实施例之二,根据矩阵组的特点,采用固定流程的多步骤划分。比如,利用前述PartitionGridRectSubregion函数,按图11所述的流程进行划分。
矩阵组的实施例之三,根据矩阵组的特点,并采用面向对象的方法,定义一个矩阵组的类。其中包含一个存放内部矩形分区域对象的容器;划分数据;划分函数和绘图函数。其中,所述划分函数根据所述划分数据确定矩阵组内部的矩形分区域及金融图形的位置;绘图函数用于逐个绘制矩阵组内部的矩形分区域,进而绘制所述矩形分区域内部的所有金融图形。
在一个实施例中,矩阵组的划分函数根据矩阵组的自身特点,按图22所示的流程图进行绘制。开始后(S2201),在确定多个矩形分区域的步骤S502中采用网格模式或切分模式来确定矩阵组内的各个矩形分区域的位置(S2202)。然后,在一个矩形分区域内,利用切分模式或尺寸模式,确定金融图形的位置(S2203),其中,尺寸模式包括根据金融特征的尺寸模式。最后判断是否还有其它矩形分区域(S2204),如有则重复步骤S2203,没有则结束(S2205)。在以上过程中,每当确定一个矩形分区域的位置后,创建其对象,并加入到所述矩阵组内部的矩形分区域对象的容器中;每当确定金融图形位置后,创建金融图形对象并加入到所属矩形分区域对象中。
上述实施例流程说明,在确定矩阵组内矩形分区域的位置时,可采用网格模式或切分模式。例如,对于图24所示的屏幕快照的矩形分区域,可以通过图8所示的5x2的网格模式得到;或者在前述PartitionGridRectSubRegion函数中,分别在Y方向和X方向上采用切分模式。
上述实施例流程还说明,在确定矩阵组内矩形分区域的内部金融图形位置时,采用切分模式或尺寸模式,其中,尺寸模式包括根据金融特征的尺寸模式。例如,图24所示快照中的矩形分区域,可用根据金融特征为60M、30M、Day和1M,或者直接根据尺寸100,100,150,100,来确定金融图形的位置。在图25所示的快照中,在每一矩形分区域内部采用在Y方向等分数为2的切分模式,来确定上下金融图形的位置。
关于矩阵组的初始划分数据。
在确定矩阵组内矩形分区域的位置时,如上所述,可采用划分模式或切分模式,但都需要确定Y方向和X方向的划分数。比如图14所示的人机交互菜单中的“nXCount”、“nYCount”用于确定矩阵组的布局;
而在确定矩阵组内矩形分区域的内部金融图形位置时,由于所有的所述矩形分区域内金融图形的布置均相同,所以,只需要一个矩形分区域内部的金融图形的布置。比如图14所示的人机交互菜单中的“金融特征”输入框中的划分数据。在划分过程中矩阵组内所有矩形分区域的内部,均采用以此划分数据为参数的根据金融特征的尺寸模式进行划分。
在另一个实施例中,处理单元101可执行指令以使矩阵组内的各矩形分区域与目标金融品种的集合相关联。其具体流程如图26所示,在流程开始(S2601)后,确定矩阵组与一个金融品种集合相关联(S2602),比如右键点击任一幅金融图形,在弹出的菜单中最终选择一个金融品种集合。然后在此金融品种集合内,确定矩阵组内的一个矩形分区域的金融品种(S2603),比如设置第一个矩形分区域的金融品种为金融品种集合内的第1支金融品种。再获取矩阵组内相邻的矩形分区域(S2604),比如获得所述矩阵组内第二个矩形分区域。如果成功的话,再获取所述金融品种集合内的与前一支金融品种相邻的金融品种(S2605),比如获得了所述金融品种集合内的第2支金融品种。如果成功的话,设置所述相邻矩形分区域的金融品种为所述相邻的金融品种(S2606),即设置所述第二矩形分区域的金融品种为所述第2支金融品种。依次类推,直至设置完所有的矩形分区域使得获取相邻矩形分区域的步骤S2604返回否定结论,或者设置完所有金融品种使得获取相邻金融品种的步骤S2605返回否定结论,此时结束(S2607)。
在上面的实施例中,如果一个矩阵组内有10个矩形分区域,那么第10个矩形分区域对应了所述金融品种集合内的第10支金融品种。如果通过人机交互发出翻页指令后,重新确定第一个矩形分区域的金融品种为第10支金融品种的下一支金融品种,即第11支金融品种;然后按顺序确定相邻矩形分区域的金融品种为第12,13……,20支金融品种。
在另一实施例中,使矩阵组中的一部分矩形分区域与金融品种的集合相关联,而剩余的矩形分区域可显示综合指数等,并且在翻页时不改变其金融品种代码,作为固定的对比参考。
在另一个实施例中,在矩阵组内也可按指标排序结果的顺序显示金融品种。例如,在与金融品种的集合关联后,矩阵组中显示金融品种的顺序,默认为金融品种在此金融品种的集合内的顺序。但是,也可采用某一指标,对与矩阵组关联的集合内的各金融品种进行排序,并按排序后的顺序显示金融品种,即确定矩阵组中第1、2、3……个矩形分区域显示的金融品种分别为,排序后的第1、2、3……个位置对应的金融品种。
一般软件的排序结果都是显示在金融品种的列表中,并且在列表中只能以数值方式简单地记录各金融品种在某一时刻的状态,而不能以图形方式显示一段时间范围内的走势,因此无法预测金融品种价格的走向与趋势。所以,使用者还需逐个点击列表中的各金融品种,并在显示窗口内的其它部分显示单个金融品种的单幅周期图形。所以,不仅占用了显示空间,需要使用者额外的操作,更重要的是不具有全面高效的对比效应。
一个具体实施方式如图27所示。比如,使用者点击矩阵组内任一幅金融图形,在弹出的菜单中选择“指标排序”命令,当程序接收到指标排序的命令后开始(S2701),先弹出一个窗口显示所有的指标名称,并接受使用者选定的指标(S2702),例如“涨幅”。然后用选定指标计算目标金融品种集合内的所有金融品种(S2703),这些都为现有技术,不再赘述。根据计算结果将所述金融品种的全部或部分排序,并依次保存排序结果(S2704),比如存入排序结果板块中。在这一步骤中,可以对所有金融品种排序,但也可部分排序,比如,矩阵组本身只有10个矩形分区域,可以利用标准库函数std::partial_sort,先计算出排在前10位的金融品种,这样在金融品种很多的情况下,可以先将排序完成的前10支金融品种显示,从而大量节约用户的等待排序计算的时间。然后,程序在矩阵组内依次显示排序结果对应的金融品种(S2705),比如排序结果板块中的金融品种。显示完成后,如果还有未排序的金融品种(S2706),则继续完成对这些金融品种的剩余排序运算(S2707),以备使用者翻页观察等。最后结束(S2708)。
按上述实施例的方法,不仅节省了显示排序结果的金融品种的列表位置和使用者的操作步骤,而且将排序结果直接以图形化的矩阵组显示,在按顺序显示多支金融品种的同时还具有矩阵组本身的优点。
在另一个实施例中,处理单元101可执行指令以使用矩阵组自动显示由指标运算选出的金融品种。
比如,在股票市场根据选股公式比如“涨幅>=5%”,选择期望的股票,又称为公式选股,其中,“涨幅”是指标,“>=5”为选中条件。一般软件的选股结果也是显示在金融品种的列表中,其存在的问题与上述指标排序相同。
在本实施例流程如图28所示。比如,使用者点击矩阵组内任一幅金融图形,在弹出的菜单中选择“公式选股”命令,当程序接收到此命令后开始(S2801)。先弹出一个窗口,显示所有指标名称以及选中条件的输入框。程序接受使用者通过此窗口选定的指标比如为“涨幅”,以及输入的选中条件比如为“>=5”,从而确定指标与选中条件(S2802)。然后依次获取目标金融品种集合中的一支金融品种(S2803)。如果成功,根据现有技术,对所述金融品种进行指标运算(S2804),例如,计算出此金融品种的涨幅。判断指标运算结果是否符合选中条件(S2805)。如果符合,则保存所述金融品种(S2806),例如,当涨幅>=5%时,将所述金融品种加入到选股结果板块。然后在矩阵组内显示所述金融品种(S2807)。在此步骤中,当检测到矩阵组内的所有矩形分区域已全部用来显示已选中的金融品种,而没有空余的矩形分区域来显示新选中的金融品种时,可设置自动翻页以在新的一页中从头开始显示新选中的金融品种,或者在向上滑动一行或多行,并在新的一行中显示新选中的金融品种。然后转到再获取下一支金融品种(S2803),如果成功则重复上述过程,否则结束(S2808)。此实施例为在指标运算过程中显示选出的金融品种。因为指标运算可能涉及大量的金融品种、数据及复杂的过程,所以可能是一个较长的过程,所以,即时地显示选出的金融品种就显得很重要。
在另一个实施例中,显示选中金融品种的步骤S2807是在完成所有金融品种的指标运算与比较后进行,即在图28中,步骤S2806完成后直接返回到步骤S2803获取下一支金融品种继续计算,直到所有金融品种都计算完成,步骤S2803的判断结论为否后,再实施步骤S2807进行显示,显示完成后在步骤S2808结束。显然,这种方式在所有指标运算完成后显示,会让使用者等待较长时间。
在另一个实施例中,如图29所示,流程开始(S2901)后,处理单元101执行指令以检测所述矩阵组内的一个金融图形接收到变动命令(S2902)后,确定矩阵组内的矩形分区域内需要变动的一个或多个金融图形,并确定其在矩形分区域内的相对位置(S2903)。然后获取矩阵组内的一矩形分区域(S2904),将所述矩形分区域内在所述相对位置的金融图形作相同的变动(S2905)。然后判断矩阵组内是否还有其它未处理的矩形分区域(S2906),如果有,则返回上述步骤S2904;如果无,则结束(S2907)。本段的步骤S2904~S2906,实际上完成的是,根据所述变动命令,对所述矩阵组中的每个矩形分区域中的位于所述相对位置的金融图形进行变动。
在上述S2903步骤中,如果对矩形分区域内的一个金融图形进行某些变动,不仅此金融图形需进行变动,而且此金融图形所在矩形分区域中的其它金融图形也可能需要变动,与具体的变动内容有关。比如,在单个矩形分区域内,如果变动命令是调整K线元素的间距,可设置对所有K线图形调整,比如30Min、日线图等;如果改变金融特征,则无须变动其它图形;如果改变周期金融图形的技术指标的名称,则对其它采用了同名技术指标的金融图形也进行调整;如果改变了周期图形的最后显示时间,则对其它周期图形也进行相同改变;保持矩形分区域的位置和尺寸不变,通过人机交互操作来调整矩形分区域内的相邻金融图形的边界线,则仅调整相邻的两幅金融图形。本段中所有对金融图形的调整或变动内容,均为现有技术,不再赘述。
在确定了一个矩形分区域内的要调整的图形后,由于矩阵组内各矩形分区域的布置相同,所以在S2903步骤中,可利用相对位置确定其它矩形分区域内需要调整的图形的位置。在此实施例中相对位置采用金融图形在矩形分区域的对象中的位置序号来表示。比如在图24所示的快照中,要调整K线间距,需调整的金融图形在矩形分区域中的序号分别为0、1、2,则对每一个矩形分区域,都调整内部序号为0、1、2的金融图形。
上述自动批量修改矩阵组内金融图形信息的方法可概括为:
检测所述矩阵组内的任意金融图形上是否接收到变动命令;
根据所述变动命令,确定所述矩阵组内每一矩形分区域内要变动的一个或多个金融图形,并进行相应的变动。
另外,本公开还涉及一种计算机可读存储介质,上面存储有包括指令的程序,当所述指令在由处理器例如CPU载入并执行时,能够用于实施本文所述的多图显示方法。
本公开的实施例如未注明,均为优先实施例。虽然已详细描述了本公开的一些实施例,但是本领域技术人员应当理解,上述实施例仅是说明性的而不限制本公开的范围,是为了说明书完整。还应当理解,上述实施例可以被组合、修改或替换而不脱离本公开的范围和实质。本公开的范围是通过所附的权利要求限定的。
Claims (21)
1.一种多图显示方法,其中,使用处理器执行指令以执行以下步骤:
在显示窗口内,确定各金融图形的位置;
在显示窗口内确定多个矩形分区域使得单个矩形分区域内包含的金融图形的金融品种相同;
设置各金融图形的金融特征;以及
设置各矩形分区域内的金融图形的金融品种;
以及其中,在所述显示窗口内两个以上矩形分区域含有多个周期金融图形的情况下,至少两个所述矩形分区域之间有至少两幅周期金融图形的金融特征相同;或者
在所述显示窗口内仅一个矩形分区域含有多个周期金融图形的情况下,所述显示窗口内的其它矩形分区域中的全部或一部分与所述一个矩形分区域动态关联。
2.根据权利要求1所述的方法,其中,在显示窗口内确定多个矩形分区域的步骤中采用容器法或静态关联法实现矩形分区域。
3.根据权利要求1所述的方法,其中,在所述确定各金融图形的位置或确定矩形分区域的多步骤划分中的单个划分步骤中,能够使用多种单步划分方式中的任一种,其中包括采用固定流程的方法,或者完全根据划分数据的方法。
4.根据权利要求1所述的方法,其中,在所述确定各金融图形的位置的步骤中,采用内置的初始划分数据,其中,所述内置的初始划分数据在单个划分步骤中,使用多种单步划分方式中固定的一种;或者采用外部文件中的初始划分数据,其中外部文件中的初始划分数据中的单个划分步骤能够使用多种单步划分方式的中的任一种;或者采用通过人机交互形成的初始划分数据,其中在人机交互操作中设置单个划分步骤时能够采用多种单步划分方式的中的任一种。
5.根据权利要求1所述的方法,其中,在所述确定各金融图形的位置的步骤中,采用内置的初始划分数据时,所述内置的初始划分数据所使用的至少一种单步划分方式,或者采用外部文件中的初始划分数据时,所述外部文件中的初始划分数据所使用的至少一种单步划分方式,或者采用通过人机交互形成的初始划分数据时,在人机交互操作中设置单个划分步骤时采用的至少一种单步划分方式,使用以下划分模式之一:切分模式,网格模式,尺寸模式,并且在划分后能够增加多个矩形显示区域。
6.根据权利要求4所述的方法,其中,如果两个以上金融图形作为一行或一列排列于待划分的目标矩形区域中,则所述内置的初始划分数据中所采用的单步划分方式,或者所述外部文件的初始划分数据中所用的单步划分方式,或者所述人机交互操作中设置单个划分步骤时采用的至少一种单步划分方式,使用尺寸模式并且所述金融图形的初始尺寸根据所述金融图形的金融特征预先设定。
7.根据权利要求1所述的方法,其中,相邻的金融图形之间采用公共边界线。
8.根据权利要求1所述的方法,其中,突出显示矩形分区域所在整体范围,包括:绘制矩形分区域之间的边界线,使之与其内部金融图形之间的边界线相比,线条更粗或/和颜色不同;或者,不同矩形分区域内的金融图形的边界线颜色不同。
9.根据权利要求1所述的方法,其中,使用处理器执行指令以还执行:把相邻的矩形分区域合并成一个组合矩形分区域用于显示同一金融品种。
10.根据权利要求9所述的方法,其中,突出显示组合矩形分区域自身所在范围,
包括:绘制组合矩形分区域之间的边界线,使之与其内部金融图形之间的边界线相比,线条更粗或/和颜色不同;或者,不同组合矩形分区域内的金融图形的边界线颜色不同。
11.根据权利要求1至10之一所述的方法,其中,使用处理器执行指令以还执行:
设置所述多个矩形分区域中的源矩形分区域与目标矩形分区域动态关联;
在检测到在所述源矩形分区域的金融图形上由人机交互操作发出的用于改变所述目标矩形分区域的金融图形信息的命令的情况下,所述目标矩形分区域采用由所述源矩形分区域的金融图形提供的金融图形信息进行设置,其中,所述金融图形信息包括以下至少一项:金融品种代码、金融品种的集合、或最后显示时间。
12.根据权利要求1至10之一所述的方法,其中,使用处理器执行指令以还执行:
设置目标矩形分区域与目标金融品种的集合相关联;
在检测到对所述目标矩形分区域执行在所述集合内浏览金融品种的操作命令的情况下,将此目标矩形分区域内所有金融图形的金融品种都设置为:在所述集合内与所述目标矩形分区域的当前金融品种相邻的金融品种。
13.根据权利要求1至10之一所述的方法,其中,使用处理器执行指令以还执行:
确定待进行历史回放的历史回放时间点;
确定待进行历史回放的一个或多个目标矩形分区域;
确定所述目标矩形分区域内需要进行历史回放的目标金融图形;以及
调整所述目标矩形分区域内所述需要进行历史回放的金融图形的最后显示时间为所述历史回放时间点。
14.根据权利要求1至10之一所述的方法,其中,确定多个矩形分区域的步骤包括:在所述显示窗口中确定大小相同并对齐排列的多个矩形分区域,并且各个矩形分区域内的各金融图形的数量、相对位置、尺寸以及金融特征的组合均相同,从而形成以行和列方向上的矩形分区域的数量为维度的矩阵组。
15.根据权利要求14所述的方法,其中,
在确定所述矩阵组内矩形分区域的位置时,采用网格模式或切分模式;或者,
在确定所述矩阵组内矩形分区域的内部金融图形的位置时,采用切分模式或尺寸模式,其中,尺寸模式包括根据金融特征的尺寸模式。
16.根据权利要求14所述的方法,其中,关于所述矩阵组的初始划分数据,
在确定所述矩阵组内矩形分区域的位置时,需要确定Y方向和X方向的划分数;或者,
在确定所述矩阵组内矩形分区域的内部金融图形的位置时,只需确定一个矩形分区域内的金融图形的布置。
17.根据权利要求14所述的方法,其中,使用处理器执行指令以还执行:
使矩阵组内的各矩形分区域与金融品种的集合相关联;
确定矩阵组中的一个矩形分区域的金融品种;以及
确定矩阵组中的相邻矩形分区域的金融品种分别为在所述集合内并且与所述一个矩形分区域的金融品种依次相邻的金融品种。
18.根据权利要求14所述的方法,其中,矩阵组中的各个矩形分区域内的金融品种的显示根据指标排序结果的顺序显示,包括在指标排序过程中显示或者在指标排序过程结束后显示。
19.根据权利要求14所述的方法,其中,使用矩阵组自动显示由指标运算选出的金融品种,其中包括在指标运算过程中显示或在指标运算结束后显示。
20.根据权利要求14所述的方法,其中,使用处理器执行指令以还还执行:
检测所述矩阵组内的任意金融图形上是否接收到变动命令;
根据所述变动命令,确定所述矩阵组内每一矩形分区域内要变动的一个或多个金融图形,并进行相应的变动。
21.一种计算机可读存储介质,上面存储有计算机程序,其中,所述计算机程序在由处理器载入并执行时能够用于实施如权利要求1至20中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/121880 WO2020124398A1 (zh) | 2018-12-19 | 2018-12-19 | 多图显示方法和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110537166A true CN110537166A (zh) | 2019-12-03 |
Family
ID=68659767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880025570.2A Pending CN110537166A (zh) | 2018-12-19 | 2018-12-19 | 多图显示方法和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11710264B2 (zh) |
CN (1) | CN110537166A (zh) |
WO (1) | WO2020124398A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821282A (zh) * | 2020-06-19 | 2021-12-21 | 北京字节跳动网络技术有限公司 | 用于展示统计图的方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857868A (zh) * | 2020-06-30 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 证券数据的读写方法、装置、设备及计算机可读存储介质 |
CN112269828A (zh) * | 2020-11-18 | 2021-01-26 | 网易(杭州)网络有限公司 | 数据生成方法、装置和电子设备 |
CN114328706B (zh) * | 2022-03-14 | 2022-06-14 | 西安羚控电子科技有限公司 | 一种icd图形化表达系统及方法 |
US11875324B1 (en) * | 2022-12-16 | 2024-01-16 | Emoji ID, LLC | Interconnected visual animations for interrelated objects |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060262145A1 (en) * | 2005-05-18 | 2006-11-23 | Microsoft Corporation | System and method for interactively displaying multi-dimensional data |
CN1914638A (zh) * | 2004-01-30 | 2007-02-14 | 野村国际股份有限公司 | 金融数据分析工具 |
CN103914181A (zh) * | 2013-01-09 | 2014-07-09 | 三竹资讯股份有限公司 | 连动显示多股比较视图的金融看盘装置及方法 |
CN103914255A (zh) * | 2013-01-09 | 2014-07-09 | 三竹资讯股份有限公司 | 金融看盘的多模式自选股报价视图装置及方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001090997A2 (en) * | 2000-05-19 | 2001-11-29 | Foliofn, Inc. | Method and apparatus for analyzing individual and comparative returns on assets |
AU2005253141A1 (en) * | 2004-06-07 | 2005-12-22 | Cfph, Llc | System and method for managing financial market information |
US20090006226A1 (en) * | 2007-06-29 | 2009-01-01 | Change Point Analytics Ltd | Stock analyzing engine |
US20090006241A1 (en) * | 2007-06-30 | 2009-01-01 | Xirong Zhao | System and Method for Displaying Multiple Charts of Related Stock Candidates and its Method |
US8694405B2 (en) * | 2010-01-21 | 2014-04-08 | Visual Trader Systems, S.L. | System and method of visual representation of stock exchange transactions |
WO2012162399A2 (en) * | 2011-05-23 | 2012-11-29 | Visible Market Inc. | Dynamic visual statistical data display and navigation system and method for limited display device |
US20150066725A1 (en) * | 2013-08-28 | 2015-03-05 | Huiqing Cai | Trend trading method |
WO2015042494A2 (en) * | 2013-09-20 | 2015-03-26 | Seitz Michael W | Personalized investment portfolio builder and investment strategy tester |
US20150161732A1 (en) * | 2013-12-11 | 2015-06-11 | John Hancock Life Insurance Company (U.S.A.) | System and method for providing an analysis of the relative volatility of asset classes |
CN107093140A (zh) * | 2017-03-10 | 2017-08-25 | 谢汉铭 | 金融商品交易数据处理系统 |
CN107316240A (zh) * | 2017-05-23 | 2017-11-03 | 武汉楚鼎信息技术有限公司 | 一种按照任意指标组合来投资股票的系统以及实现方法 |
CN107730383A (zh) * | 2017-10-13 | 2018-02-23 | 叶海波 | 一种股票信息显示方法及装置 |
CN108446977A (zh) * | 2018-02-10 | 2018-08-24 | 灯塔财经信息有限公司 | 一种股票价值分布的获取和呈现方法以及相应装置 |
-
2018
- 2018-12-19 WO PCT/CN2018/121880 patent/WO2020124398A1/zh active Application Filing
- 2018-12-19 CN CN201880025570.2A patent/CN110537166A/zh active Pending
-
2021
- 2021-06-17 US US17/350,742 patent/US11710264B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914638A (zh) * | 2004-01-30 | 2007-02-14 | 野村国际股份有限公司 | 金融数据分析工具 |
US20060262145A1 (en) * | 2005-05-18 | 2006-11-23 | Microsoft Corporation | System and method for interactively displaying multi-dimensional data |
CN103914181A (zh) * | 2013-01-09 | 2014-07-09 | 三竹资讯股份有限公司 | 连动显示多股比较视图的金融看盘装置及方法 |
CN103914255A (zh) * | 2013-01-09 | 2014-07-09 | 三竹资讯股份有限公司 | 金融看盘的多模式自选股报价视图装置及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821282A (zh) * | 2020-06-19 | 2021-12-21 | 北京字节跳动网络技术有限公司 | 用于展示统计图的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11710264B2 (en) | 2023-07-25 |
WO2020124398A1 (zh) | 2020-06-25 |
US20210312676A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110537166A (zh) | 多图显示方法和计算机可读存储介质 | |
JP2559962B2 (ja) | 情報表示装置およびファイルの特性を表示する装置 | |
US5495567A (en) | Automatic interface layout generator for database systems | |
US6219049B1 (en) | Mate inferencing | |
US6356285B1 (en) | System for visually representing modification information about an characteristic-dependent information processing system | |
US10242115B2 (en) | Method and device for handling data containers | |
Tominski et al. | CGV—An interactive graph visualization system | |
US6219055B1 (en) | Computer based forming tool | |
EP0636971B1 (en) | Method and apparatus for producing a composite second image in the spatial context of a first image | |
KR101794373B1 (ko) | 선택된 데이터의 일시적인 포맷팅 및 도표화 기법 | |
US8386919B2 (en) | System for displaying an annotated programming file | |
JP2023078363A (ja) | ウェブサイト構築システムおよびウェブサイト構築システムのための方法 | |
US20090278848A1 (en) | Drawing familiar graphs while system determines suitable form | |
US20070214136A1 (en) | Data mining diagramming | |
Nancel et al. | Causality: A conceptual model of interaction history | |
US20070208464A1 (en) | System and method of interactively compiling a database for an in-vehicle display device | |
CA2780330A1 (en) | System, method and computer program for creating and manipulating data structures using an interactive graphical interface | |
CN112639791A (zh) | 用于图形设计的多视图母版 | |
US10606455B2 (en) | Method for processing information | |
US8862442B1 (en) | Preview of an object in graphical modeling environments | |
CN110728124A (zh) | 用于可视化电子表格的方法、装置、设备及存储介质 | |
JPH0713727A (ja) | 情報表示装置 | |
CN113238749A (zh) | 一种可视化人机交互设计平台的工作方法 | |
JP2585311B2 (ja) | プログラム作成方法 | |
US20240153171A1 (en) | Binding data to graphic objects using a visual indicator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |