`CBM of U.S. Patent No. 7,212,999
`
`0001
`
`
`
`U.S. Patent
`
`Nov. 18, 1997
`
`Sheet 1 of 12
`
`5,689,651
`
`hm
`
`
`
`saw..aoEo.Etamsaw.
`
`onon8
`
`H.oE
`
`2000
`
`._<zEcm_
`
`<._.<o
`
`uomaom
`
`0002
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 13, 1997
`
`Sheet 2 of 12
`
`5,689,651
`
`
`
`8.8.32.;8_§__&<
`
`32%best;
`
`5;.8_._o
`
`boucooom
`
`_2.§m
`
`8.5.5%
`coficzxm
`
`coeom
`
`5&5
`
`55.3.3o
`
`cosow
`
`E35
`
`55.8.3o
`
`bavcooom
`
`32$
`
`mALE
`
`3000
`
`0003
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 13, 1997
`
`Sheet 3 of 12
`
`5,689,651
`
`8“
`
`+3
`
`ancmas5E
`
`Na
`
`.3o_=o_oo
`
`.8....o
`
`
`
`.§&5coeom
`
`..§.<.0........a
`
`.3oo_uc_
`
`§._..o
`
`.35
`
`.85
`
`828
`
`5&5
`
`.35
`
`333°
`
`.35.35.35.35.35
`3.3.85g%§._..o
`
`coeumzoeomcoeomcoeom$88
`
`
`
`
`
`5&5.§&55&55&5.§&5
`
`.35.35.35.35.3_5
`.3533°38§.ao333°
`
`.35
`
`.s.§
`
`coeom
`
`33...
`
`.35
`
`.35.
`
`+8
`
`ow
`
`as
`
`SNIN3on
`
`SN
`
`4000
`
`Na
`
`.253.
`
`.8..8
`
`Bear
`
`can_oE3.n._“VU
`32..
`
`0004
`
`
`
`
`
`
` U.S. Patent
`
`Nov. 18,1997
`
`Sheet 4 of 12
`
`5,689,651
`
`Locate 'ExtemoI Data Source’
`
`
`
` If mm symbol = 03.1 symbol
`
`True
`
`
`
`0005
`
`0005
`
`
`
` U.S. Patent
`
`Nov. 13, 1997
`
`Sheet 5 of 12
`
`5,689,651
`
`350
`
`552
`
`Look up yesterday's last price as CLOSE
`
`354
`
`
`
`Calculate the difference between
`LAST & CLOSE as CHANGE
`
`366
`
`call Screen Display Symbol Object
`On Receipt of Point Request
`
`:
`
` 368
`
`370
`
`FIG. 8
`
`0006
`
`
`
`
`
`Create an empty histogram of
`tick volume by price HIST
`
`
`
`
`
`0006
`
`
`
` U.S. Patent
`
`
`
`Nov. 13,1997
`
`Sheet 6 of 12
`
`5,689,651
`
`
`
`416
`
`I---
`
`0BJ:NAME somewhere in RGN
`
`'-‘*v‘|_)
`
`0BJ:LAST somewhere in RGN
`
`/'- 418
`
`420
`If I am d" o chan fromY;lose:
`T ‘'2’
`
`~«- -
`
`0BJ:CHANGE somewhere in RGN
`
`424
`
`I am dis'n a ran indicator
`If
`jam“K
`
`426
`
`p,';f,,,i,y' symungbd
`III
`
`Draw a fixed
`
`«
`
`bar on the screen
`
`428
`
`If I am di'n a Rane-Extension Recta lo
`_I_—
`
`
`
`
`
`_
`:
`The point object draws a rectan le on the screen.
`
`hei ht of this rectangle to the ixed—len
`used for the bar above I8
`RA
`.sothat_thescreenshowsato
`ncehawmuchpnceshave
`rnoyed today ,In comparison to how for they have moved on average
`[)3 1| ,
`
`
`dunn n o
`-
`
`440
`'n a Histram of volume
`I am dis «
`If
`—I_ 4-42
`
`
`
`
`
`The point object draws a simple histogram of the ticks received
`inside the range extension rectangle. The histogram has price
`along its vertical axis and volume along its horizontal
`
`
`
`0007
`
`0007
`
`
`
` U.S. Patent
`
`Nov. 13,1997
`
`Sheet 7 of 12
`
`5,689,651
`
`
`
`452
`
`454
`
`
`
`If MET value has chaned then
`1:;
`
`Locate my Screen Display
`Angle of Attack Indicator
`object OBJ
`
`
`
`call Screen Display Angle
`of Attack Indicator: On
`
`Receipt of
`Point Request
`
`
`
`The calculator object must be able to perform some kind
`of calculation which will combine the last price
`values for all symbols
`it receives into a single number MET. This metric could
`be a simple weighted average. or a more complicated
`
`formula entered by the user.
`
`0008
`
`0008
`
`
`
` U.S. Patent
`
`
`
`Nov. 18, 1997
`
`Sheet 8 of 12
`
`5,689,651
`
`
`
`a hih double amow in reen
`
`
`
`
`
`
`518
`
`FIG. 15
`
`
`
`
`
`
`
`0009
`
`0009
`
`
`
` U.S. Patent
`
`Nov. 18, 1997
`
`Sheet 9 of 12
`
`5,689,651
`
`Assin the Prima
`
`S
`
`bol
`
`to the Rion in the Center of the Screen
`
`602
`
`Assign the Secondary Symbols to Regions in
`a Circle around the middle of the screen.
`
`If the user has selected the -
`
`le of Attack Indicator
`
`
`
`
`
`
`
`Assign the Angle of Attack Indicator to
`
`
`
`
`
`
`“-
`
`a Region next to the Primary Symbol
`
`061
`
`620
`
`622
`
`
`
`
`
`
`
`For each SYMBOL
`
`Coll Symbol Object:
`On Receipt of PAINT Request
`
`
`Re-Assign the Secondary Symbols to Regions
`in a circle around the middle of the screen.
`
`
`
`
`
`0010
`
`0010
`
`
`
` U.S. Patent
`
`
`Nov. 13, 1997
`
`Sheet 10 of 12
`
`lfSYMisasecanda
`-
`bol
`jib
`
`5,689,651
`
`642
`
`
`
`
`
`Call Screen Object:
`To make SYM Primary
`
`Call Screen Object:
`To make SYM Secondary
`
`Call Screen Object:
`On initialization
`
`Call Screen Object:
`Complete Repaint Request
`
`652
`
`FIG. 19
`
`\ 650
`
`
`
`
`662
`
`Enable SYM's Ran -Extension Rectanle
`
`If the user has selected hiatoams
`_lT
`
`ble SYM's
`histogram display
`
`If the user has selected reference bars
`—Ib
`
`
`
`668
`
`Enable SYM's
`reference bar
`
`670
`
`672
`
`0011
`
`0011
`
`
`
` U.S. Patent
`
`Nov. 13, 1997
`
`Sheet 11 of 12
`
`5,689,651
`
`
`
`
`
`Enable/Disable
`Appropriate Indicator
`
`696
`
`FIG. 22
`
`
`
`0012
`
`0012
`
`
`
` Nov. 18, 1997
`
`Sheet 12 of 12
`
`5,689,651
`
`704
`
`7
`
` M
`
`710
`
`7oo
`
`44a.so—/
`
`443.10
`
`'\
`702
`
`FIG. 23A
`
`6
`
`70
`
`X K
`
`17
`
`44850-3 700
`
`708
`
`‘
`
`\/
`71°)\/
`
`12
`
`444.30
`
`15% We
`
`\—7o2
`
`FIG. 23D
`
`
`
`0013
`
`0013
`
`
`
`
`
`1
`SYSTEM FOR PROCESSING AND
`DISPLAYING FINANCIAL INFORMATION
`
`FIELD OF THE INVENTION
`
`5,689,651
`
`The present invention relates generally to data processing
`and displaying systems and more specifically. to systems for
`processing and elficiently displaying financial market infor-
`mation.
`
`BACKGROUND OF THE INVENTION
`
`The trading of financial instnunents such as stocks. bonds.
`commodities and currencies has largely become a computer
`supported operation. Almost all significant
`trading and
`monitoring of securities is accomplished by using comput-
`ers. In the past. traders typically used systems that processed
`and displayed the market information generally in an alpha-
`numeric format and in straight columnlrow displays. The
`alphanumeric displayed information could not be optimized
`to permit rapid extraction and review of the data to support
`trading. Further.
`the displayed information was mostly
`devoid of market trend information and the traders had to
`mostly rely on intuition and luck in predicting market shifts.
`The appreciation of these problems formed the stimulus to
`the present invention.
`
`OBJECTS AND SUMMARY OF THE
`INVENTION
`
`It is therefore an object of the present invention to provide
`a system which increases the efliciency of a trader’s ability
`to review and extract market information.
`
`It is another object of the present invention to provide a
`system in communication with an external data source
`which permits the retrieval of financial market information.
`It is still another object of the present invention to provide
`a system for the real time processing and displaying of
`financial market data into a form which increases a trader's
`performance.
`It is yet another object of the present invention to provide
`a system which periodically updates displayed market data.
`It is still another object of the present invention to provide
`a system that permits a trader to eliiciently monitor alpha-
`numeric and graphic indicators of the market activity and
`data.
`
`It is another object of the present invention to provide a
`system that displays selected financial market information in
`a hub and spoke format.
`It is yet another object of the present invention to provide
`a system that displays market information curesponding to
`a selected primary symbol in a central portion of a display
`and displays market information corresponding to selected
`secondary symbols in a peripheral portion of the display.
`It is another object of the present invention to provide a
`system that displays a graphic indicator in a central portion
`of a display. the graphic indicator corresponding to the
`strength and weakness in selected market conditions.
`It is a further object of the present invention to provide a
`system that displays a graphic indicator in a central portion
`of a display. the graphic indicator representing the current
`day's price action relative to previous days’ price action for
`a selected market syrnboL
`In summary, the present invention is directed to a device
`for processing and displaying financial market data corre-
`sponding to user selected primary and secondary symbols
`having a programmable computer with a display. A com-
`
`35
`
`45
`
`55
`
`2
`munication device is connected to the computer for receiv-
`ing the financial data from an external data source. The
`programmable computer includes sofiware that allows the
`user to select the primary and secondary symbols from the
`financial market data. The software also displays the finan-
`cial data corresponding to the selected primary symbol
`within the central portion of the display and displays the
`financial data corresponding to the selected secondary sym-
`bols within a peripheral portion of the display. The software
`also updates the data corresponding to the selected primary
`and secondary symbols.
`The present invention is further directed to a method for
`processing and displaying financial market data correspond-
`ing to user selected primary and secondary symbols by
`providing a programmable computer with a display and a
`communication device, and receiving financial market data
`corresponding to the selected jximary and secondary sym-
`bols from an external data source through the comrnunica-
`tion device. and inputing the received data to the computer,
`and displaying the selected data corresponding to the
`selected primary symbol within a central portion of the
`display and displaying the selected data corresponding to the
`selected secondary symbols within a portion of the display
`peripheral to the central portion of the display, and periodi-
`cally updating the displayed data from the external data
`source.
`
`These and other objects and advantages of the present
`invention will become apparent from a consideration of the
`following detailed description taken in conjunction with the
`acwmpanying drawings.
`BRIEF DESCRIPTIONS OF THE DRAWINGS
`
`FIG. 1 is a block diagram of the salient elements of the
`present invention;
`FIG. 2 is an illustrative preferred embodiment of a multi-
`object display of the present invention;
`FIG. 3 is an illustrative example of a multi-object display
`of the present invention displayed in the format of the
`preferred embodiment as similarly shown in FIG. 2;
`FIG. 4 is a genaal flow chart representation of the
`software utilized by the present invention;
`FIG. 5 is a flow chart representation of the Router Object
`on Initialization routine;
`FIG. 6 is a flow chart representation of the Router Object
`on Receipt of Data(DA'I‘A) routine;
`FIG. 7 is a flow chart representation of the Symbol Object
`on Initialization routine;
`FIG. 8 is a flow chart representation of the Symbol Object
`on Receipt of Data(LASI‘) routine;
`FIG. 9 is a flow chart representation of the Screen Display
`Symbol Object on Initialization routine;
`FIG. 10 is a flow chart representation of the Saeen
`Display Symbol Object on Receipt of Paint Request routine;
`FIG. 11 is a flow chart representation of the Calculator
`Object on Initialization routine;
`FIG. 12 is a flow chart representation of the Calculator
`Object on Receipt of Data(DA'I‘A) routine;
`FIG. 13 is a flow chart representafion of the Calculator
`Object on Metric Calculation routine;
`FIG. 14 is a flow chart representation of the Screen
`Display Angle of Attack Indicator Object on Initialization
`routine;
`FIG. 15 is a flow chart representation of the Screen
`Display Angle ofAttack Indicator Object on Receipt of Paint
`Request routine;
`
`
`
`0014
`
`0014
`
`
`
`
`
`3
`FIG. 16 is a flow chart representation of the Screen Objea
`on Initialization routine;
`FIG. 17 is a flow chart representation of the Screen Object
`on Complete Repaint Request routine;
`FIG. 18 is a flow chart representation of the Screen Object
`on Addition of a New Symbol routine;
`FIG. 19 is a flow chart representation of the Screen Object
`on Receiving a Mouse Click over a symbol SYM routine;
`FIG. 20 is a flow chart representation of the Screen Object
`to Make a SYM Primary routine;
`FIG. 21 is a flow chart representation of the Screen Object
`to make a SYM Secondary routine;
`FIG. 22 is a flow chart representation of the Screen Object
`in Response to Other Commands routine; and
`FIGS. 23A. 23B, 23C & 23D are illustrative examples of
`one embodiment of the primary region of a multi-object
`display of the present invention over a period of time.
`DETAILED DESCRII’I'ION OF THE
`INVENTION
`
`The present invention is directed to a specifically pro-
`grammed computer display system to improve a trader's
`performance in security or commodity transactions. The
`system is integrated with an on-line, real time, securities or
`commodities related information database managed by an
`external organization. It is from this database that vital
`information on past and current market conditions is con-
`tinuously communicated to the system.
`The system efliciently displays and continuously updates
`quote information and graphic and numeric indicators on
`trade transactions such as occur in typical securities and
`commodities trading.
`The user defines a primary symbol and a plurality of
`secondary symbols for which corresponding quote informa-
`tion is to be monitored on a display. The displaying of the
`primary symbol and the secondary symbols and the corre-
`sponding market information, occurs in a hub-spoke con-
`figuration. Hub-spoke configuration is my term for the
`primary symbol being displayed in the hub or a centralized
`area of the display and the secondary symbols being dis-
`played in it spoke or peripheral pattern about the primary
`symbol. Various graphic and numrric indicators, calculated
`from information from the primary and secondary symbols,
`can also be displayed in the hub near the primary object at
`the option of the user.
`Referring now to FIG. 1. thae is shown in block ding-am
`form, an improved displaying and data processing apparatus
`R for communicating information characterizing financial
`markets. External Data Source (EDS) 10 is a remotely
`located data processing apparatus for communicating data
`charactuizing the financial markets. The data generated is
`well known to those skilled in the art. Such information
`typically includes current prices, previous days closing
`prices, volume traded, and like financially relevant data.
`EDS 10 is linked, via a modem 20 or other communication
`device,
`to a Central Processing Unit (CPU) 30 located
`remotely from EDS 10, such as on-site within the user’s
`organization.
`Associated with CPU 30 is a user input 40, such as a
`keyboard or mouse. and a display 50. The CPU 10 is
`specifically programmed in accordance with the present
`invention to enhance and support a user’s work. The pro-
`gram P (see FIG. 4), among other things, continuously
`receives, stores and updates specific market information
`from EDS 10. organizes information. and efliciently displays
`
`5,689,651
`
`10
`
`15
`
`25
`
`35
`
`45
`
`50
`
`4
`
`in accordance with the present invention textual and graphic '
`information of particular interest to a user.
`A multi-object screen display 60 generated by the pro-
`gram is shown in FIG. 2. Screen display 60 comprises a
`generally and spoke fonnat. The hub or the central portion
`of screen display 60 has a primary display region 70 which
`is indicated by a dashed line. Within primary display region
`70 are two display fields 80 and 90. Field 80 contains Screen
`Display Angle of Attack Indicator Object 82 and field 90
`contains Screen Display Object 92 with Range Extension
`Rectangle 94 and Histogram 96 (each of which will be
`described in more detail infra).
`Primary symbol 95 is displayed at the top of screen
`display 60. Peripheral
`to primary display region 70,
`is
`secondary display region 100.
`The peripheral portion of screen display 60 has a second-
`ary display region 100 indicated by dashed lines. Within
`secondary display region 100 is a plurality of display fields
`102. 104, 106, 108, 110 and 112, which make up the spokes
`S of screen display 60. Each of the display fields 102, 104,
`106, 108. 110 and 112 contain a Screen Display Object
`(which will be described in more detail infra).
`Although six display fields are shown within secondary
`display region 100, it is within the scope of the invention for
`the user to vary the number of display fields in secondary
`display region 100 to a greater or lesser number, depending
`on the user's needs and capabilities.
`The hub and spoke fcrmat of screen display 60 is vay
`important This eflicient format allows a user to monitor
`activity of display 60 by scanning the primary display region
`70, and then going to each of the display fields in the
`secondary display region 100 individually and then back to
`the primary display region 70. This display format allows for
`more information to be absorbed more quickly by the user
`and allows a clearer understanding of the current informa-
`tion in the primary display region 70 and the secondary
`display 100.
`One illustrative multi-object presentation for screen dis-
`play 60 of FIG. 2 generated by the program P is shown in
`FIG. 3 as screen display 60' in a Microsoft: Windows
`(trademark) format. Within primary display region 70' are
`primary display fields 80' and 90‘. Display field 80' contains
`the Screen Display Angle of Attack Indicator Object 82’.
`Primary display field 90' contains Screen Display Object
`92' with Range Extension Rectangle 94' and Histogram 96‘.
`The primary symbol 95' is displayed at the top of screen
`display 60'.
`The Screen Display Angle of Attack Indicator Object 82'
`is shown in FIG. 3 as a double arrow pointing towards the
`top of screen display 60‘. The Screen Display Angle of
`Attack Indicator Object 82' is a graphical representation of
`market “strength and weakness” information permitting
`speedier, more readily observable changes in market condi-
`tions. Although only shown in FIG. 3 as a double arrow
`pointing up, the Angle of Attack Indicator 82' comprises a
`total of five diflerent indicators. a single down arrow or
`single down chevron, double down arrow or double down
`chevron, a central circle, a single up arrow or single up
`chevron, and a double up arrow or double up chevron. These
`five indication of “strength/weaknesses” are induced by a
`composite value (-1 to 1) which is calculated as follows:
`1. Each of the primary and secondary symbols on the
`screen contain a weighting value for its momentum and
`a weighting value for its direction. These user defined
`weights sum to a total of one.
`2. Each Symbol on the screen has a use‘ defined momen-
`tum value which represents the number of ticks moved
`in a specified period of time.
`
`
`
`0015
`
`0015
`
`
`
`
`
`5,689,651
`
`5
`3. Each symbol on the screen has a user defined direction
`value which represents the number of consecutive price
`changes in the same direction.
`4. Each actual momentum value and direction value is
`rejxesented as a percentage of its fulfillment of the
`relevant user definition, and after calculating every
`weighting value (momentum and direction) of every
`symbol,
`the composite value is thus derived as a
`summation of all of these values.
`The user also defines what range of actual composite values
`shall be represented by the appropriate indicator level. This
`complete control of the indicator levels allows the user to
`define and quantify market activity to the users
`own’specifications, giving the user real time indication of
`changes in market conditions relevant to the users interests.
`As shown in FIG. 3. Screen Display Object 92' includes
`the current trading price 120 of the primary symbol 95' and
`the change in price 122 of the primary symbol 95' from the
`previous day's closing price.
`Screen Display Object 92' also includes a fixed length bar
`124 representing the average price movement of a user
`defined period of ti.me, such as 20-days, for the primary
`symbol 95'. and a pacentage 126 displayed at the base of bar
`124 which represents a ratio of current day's price range to
`the average user defined period price movement.
`The program P allows the change in price 122 to be
`omitted from screen display 60' by the user.
`The Range Extension Rectangle 94' graphically repre-
`sents the current day's price action relative to previous day's
`price action. The height of rectangle 94' is the actual value
`of percentage 126 of the length of fixed length bar 124. The
`height of the Range Extension Rectangle 94' informs the
`user quickly how much the prices for the primary symbol 95'
`have moved in the current day in comparison to how far the
`prices have moved on average during the previous days. The
`Range Extension Rectangle continuously updates and grows
`in length as the days trading range expands.
`Displayed at the bottom of the Range Extension Rect-
`angle 94' is the ctn-rent day's low trading price 127 for the
`primary symbol 95'. Displayed at the top of the Range
`Extension Rectangle 94' is the current day's high trading
`price 128 for the primary symbol 95'.
`Displayed within the Range Extension Rectangle 94' is a
`histogram or tick profile 130 representing the volume of
`each trading price or the total number of ticks at a specific
`price of the primary symbol 95‘ on the current day. The price
`is represented along the vertical axis 132 and the volume
`along the horizontal axis 134. Also along the vertical axis
`132 is indicator mark 136, indicating the position of the
`current trading price 120 relative to the Range Extension
`Rectangle 94'.
`It is within the scope of the invention for the user to have
`the option to display nothing within Range Extension Rect-
`angle 94'. or to display tick profile 130, or to display a
`numb: of other indicators such as a market profile graph or
`the mode indicator of the current primary symbol.
`As shown in FIG. 3, screen display 60'. which is generated
`by the program I’. contains display fields 102'. 104', 106'.
`108', 110' and 112' displayed within secondary display
`region 100' which are peripheral to primary display region
`70'. Displayed within display fields 102', 104'. 106', 108',
`110' and 112' are secondary symbols 140, 142, 144, 146, 148
`and 150 respectively.
`The cun'ent trading prices 160. 162. 164, 166, 168 and
`170 of each of the secondary symbols, and the current
`change in price 180. 182, 184. 186. 188 and 190 respectively
`of each of the secondary symbols, calculated from the
`
`6
`previous day's closing price, are also displayed within
`display fields 102', 104', 106', 108'. 110' and 112'.
`The current changes in price 180, 182, 184, 186. 188 and
`190 may be omitted fi‘om the screen display 60' by the user.
`The program P allows the user to choose which primary
`symbol and corresponding graphic information is to be
`displayed in primary display region 70’. The program P also
`allows the user to choose how many secondary display fields
`are to be displayed in secondary display region 100' and
`which secondary symbols are to be displayed in the second-
`ary display fields. Depending on how many secondary
`display fields are chosen. the software determines the place-
`ment of each in the secondary display region. The program
`P also allows the user the option of displaying the current
`change in price for the primary symbol or for any of the
`secondary symbols.
`As a matter of general ovuall system paformance (FIGS.
`1-3), the user inputs the desired primary symbol and the
`desired secondary symbols. The EDS 10 is linked to the
`CPU 30. The data characterizing the financial markets is
`continuously transmitted to the CPU 30 enabling the pro-
`gram P to continuously monitor the data. When information
`regarding the user's primary or secondary symbols is
`encountered. the corresponding data is further processed by
`the program P, and the screen display 60 is generated or
`updated.
`The infrrmation and calculations to create the Screen
`Display Object 92, the Range Extension Rectangle 94 and
`the 1-Iistogram 96 for display in the in primary display region
`70 are obtained and performed for the primary symbol and
`all secondary symbols. However, they are only displayed
`when the symbol is chosen to be a primary symbol, i.e.
`displayed in primary display region 70.
`Turning to FIG. 4, a simplified block diagram of the
`program P is shown. The external quote data 200. the data
`characterizing financial markets received from the EDS 10
`(FIG. 1). is initially processed by the Router Object 202. The
`Router Object 202 parses incoming data, filters unwanted
`data, and sends data corresponding to the primary and
`secondary symbols on to a Symbol Object 208-220 and the
`Calculator Object 204. The Calculator Object 204 monitors
`the primary and secondary symbols and calculates a user-
`determined scalar value or metric based on them which can
`be used to signal the Angle of Attack Indicator 82 (FIG. 2).
`Screen Display Angle of Attack Indicator Object 206
`watches the metric calculated from all of the symbols
`together, and paints the corresponding Angle of Attack
`Indicator on the display if desired by the user.
`The area of the screen where the Angle ofAttack Indicator
`should paint is determined by the screen setup itself. but the
`painting is all localized within Saeen Display Angle of
`Attack Indicator Object 206.
`Symbol Objects 208. 210, 212. 214. 216, 218 and 220
`retain ticks for the primary and secondary symbols for which
`data is received. The Symbol Objects can organize this data
`into a histogram and keep track of other indicators such as
`high. low, and variance. The Symbol Objects serve as a data
`store for the Screen Display Symbol Objects to use. Scxeen
`Display Symbol Objects 222, 224, 226. 38. B0. 232 and
`234 mediate between the data stored in the Symbol Objects
`and the Screen Display itself. The Screen Display Symbol
`Objects are each assigned a position on the display by the
`arrangement function of the Screen, and the data is read
`from the Symbol Objects as the Symbol Objects updates
`themselves. Each Display Symbol Object is responsible for
`keeping its region of the screen up to date.
`The flow charts of FIGS. 5 & 6 and the following
`pseudocode methods present
`the operative methods of
`
`20
`
`35
`
`45
`
`55
`
`65
`
`
`
`0016
`
`0016
`
`
`
`
`
`7
`Router Object 202 (FIG. 4). The pseudocode methods for
`Router Object 202 are as follows:
`
`On
`
`Locate my "External Data Source”
`Tell “External Data Source" to send updates by
`calling my method 2201: Receipt of Data
`of Data (DATA):
`On
`For each Symbol Object OBI
`call OBI::Receipt of Data (DATA)
`Locate my “Calculator Object” CALC
`call CALC::On Receipt of Data (DATA)
`
`Ttnning to FIG. 5. logic begins at start block 300 indi-
`cating the beginning of routine Router Object on Initializa-
`tion. At block 302. the system locates and connects to an
`external data source for supplying the market information.
`Once connected. logic [IOOOOGS to block 304 where the
`system retrieves the market data from the external data
`source, whereupon the routine Router Object on Receipt of
`Data(DATA) (FIG. 6) is executed. Block 306 ends routine
`Router Object on Initialization.
`'Drrning to FIG. 6. logic begins at start block 310 indi-
`cating the beginning of routine Router Object on Receipt of
`Data Test 312 compares the market data for a specific
`commodity, stock, bond or currency from the external data
`source with the data required for each of the user selected
`primary and secondary symbols. Block 314 determines the
`results of the comparison. If the data from the external data
`source is not required by either of the primary or secondary
`symbols, the information is ignored or filtered out of the
`system. If the data from the external data source is required
`by either the primary or secondary symbols. the Symbol
`Object routine shown in FIGS. 7 and 8 is executed via block
`316. If the data is not required or upon returning from
`Symbol Object routine, Block 318 permits the system to
`continue checking the external market data until all the
`information required by the primary and secondary symbols
`has been received. If block 318 determines all the inforrna-
`tion has been received, the Calculator Object routine shown
`in FIGS. 11, 12 & 13 is executed by block 320. Block 322
`ends routine Router Object on Receipt of Data(DA’I‘A).
`The flow charts of FIGS. 7 and 8 and the following
`pseudocode methods present the operative methods of Syru-
`bol Objects 208. 210. 212, 214. 216, 218, 220 (FIG. 4). The
`pseudocode methods for the Symbol Objects are as follows:
`
`20
`
`25
`
`30
`
`35
`
`45
`
`5,689,651
`
`8
`Turning to FIG. 8, logic begins at block 360 indicating the
`beginning of routine Symbol Object on Receipt of Data
`(LAST). At block 362. the most current tick price of the user
`selected symbol of the current day's trading is stored as
`LASI’. This along with the corresponding tick volume is
`added to the histogram HIST. Proceeding to block 364. the
`high and low prices for the user selected symbol of the
`current day’s trading is either calculated or recalculated
`based on LAS'I‘.
`The difference of the current price LAST and the closing
`price CLOSE is calculated in block 366 the result being
`stored as CHANGE. Continuing with block 368. the Screen
`Display Symbol Object routine (FIGS. 9 and 10)
`is
`executed. Block 370 ends routine Symbol Object on Receipt
`of Data(LASI‘).
`The flow charts of FIGS. 9 and 10 and the following
`pseudocode methods present
`the operative methods of
`Screen Display Symbol Objects 222, 224. 226. 2%, 230.
`232 and 234 (FIG. 4). The pseudocode methods for the
`Screen Display Symbol Objects are as follows:
`
`On Initialization:
`
`Locate my region of the screen RGN
`On Receipt of Paint Request:
`
`Clear the screen region RGN
`lpcate data object OBJ
`display the irstrurrrent name of OBI
`somewhere in RGN
`display OBI::LAS'l' somewlnre in RGN
`if displaying the change from close
`display OB.T:£HANGB sormwhere in RGN
`if diwlaying a Range Indicator
`draw a fixed-length bar en ti: screar
`lookuptireaveragen-thypricemovementfor
`this immanent as AVG, calculate the ratio
`of m¢.’ay’s price range in 031 to AVG as RATIO
`diq)layRA'.'I'I0asapereemageunderthebar
`if displaying a Range-Extension Indicator
`(The Paint Object draws a rectangle on the
`screen; the ratio ofthe height of this
`rectamle to the fixed-length used for the
`barabove i.sRA'l'10,sothattIns::reenshnws
`ataglancelrowmuchpriceshave rnovedtnday
`incomparisontohow farthey haverncwedon
`average during preview days).
`if displaying a histogram of wlunrcz
`(The Palm Object draws a sinple histogram of
`the ticks received inside the range exlemion
`
`vertical axis and volume along its
`horizontal axis)
`
`On
`
`createanernptyhistogramofticlrvolurneby
`prieeas1l1S'I‘
`lookupysterdayk lHtpriceasCLOSB
`OnRec2p'tofData(LA.S'D:
`AddLAS'I'toHISl'
`Recaleulatehighandlowforcunentdaybasedonlilsl‘
`ealeulatethedilIereuaebetweenLASI‘andCLOSE
`asCHANGB
`Lccatemy Screen Display Symbol Object OBI
`callOBI:OnReceiptofPaintRequest
`
`Turning to FIG. 7. logic begins at start block 350 indi-
`cating the beginning of routine Symbol Object on Initial-
`ization. At block 352, an empty histogram I-IISI‘ is created
`based upon the tick volume by price of the user selected
`symbol. Proceeding to block 354. the final price of the user
`selected symbol of the previous day’s trading is stored as
`CLOSE. Block 356 ends Symbol Object on Initialization.
`
`'I‘tn*ning to FIG. 9, logic begins at start block 400 indi-
`cating the beginning of routine Screen Display Symbol
`Object on Initialimtion. At block 402, the region of the
`screen RGN for displaying the particular madret information
`and symbol is located. Block 404 ends routine Screen
`Display Symbol Object on Initialization.
`Turning to FIG. 10.
`logic begins at start block 410
`indicating the beginning of routine Screen Display Symbol
`Object on Receipt of Paint Request.
`At block 412, the system erases the region of the screen
`RGN; the system then recalls the user selected symbol.
`block 414.
`Block 416 then displays the user selected symbol within
`the particular region RGN.
`At block 418. the system recalls the most current tick
`price of the user selected symbol LASI‘ and then displays
`LAST within the paru'cular region RGN.
`At block 420 the system determines whether the user
`opted to display the change from close CHANGE for the
`
`
`
`0017
`
`0017
`
`
`
`
`
`9
`selected symbol. Ifyes, block 422 then displays the value of
`CHANGE within the particular region RGN.
`Continuing with block 424,
`the system determines
`whether this particular commodity information corresponds
`to the primary symbol as defined by the user. If it does not,
`block 444 ends routine Screen Display Symbol on Receipt
`of Paint Request If the information does correspond to the
`primary symbol.
`the system, at block 426, detumines
`whether the user opted to display the range indicator. If the
`user has opted to display the range indicator, block 428
`displays a fixed length bar on the screen in the particular
`region RGN.
`Block 430 calculates AVG, the average price range move
`ment over the past user specified period, such as 20 days.
`The ratio of the cln'rent’s days price range and AVG is
`calculated as RATIO by block 432. Block 434 then displays
`RATIO as a pqcentage under the fixed length bar.
`Continuing with block 436,
`the system determines
`whether the user opted to display the Range Extension
`Rectangle.
`If the user has opted to display the Range Extension
`Rectangle, block 438 displays a rectangle near the primary
`symbol with the height of the rectangle being equal to the
`percentage RATIO of the fixed length bar. This permits the
`user to quickly compare the current price range with respect
`to the average price range AVG.
`Block 440 determines whether the user opted to display
`the histogram. If the user has opted to display the histogram.
`block 44