Block Placing Tool for Building a User-Defined Algorithm for Electronic Trading
AssigneeTrading Technologies International, Inc.
InventorsDaniel Lidor, Richard Lane
Life of this patent
Estimating the term…
Abstract
Certain embodiments provide a block placing tool for building a user-defined algorithm for electronic trading. Certain embodiments provide for receiving by a block placing tool a selection of one or more blocks. Certain embodiments provide for receiving by a block placing tool a mapping definition including a mapping between block types and/or attributes. Certain embodiments provide for placing blocks based on a selection of blocks and a mapping definition.
Claims21
(canceled)
A method including:
- receiving by a computing device a command to activate a block placing tool, wherein the command is received through a graphical user interface for a visual programming language, wherein the graphical user interface includes a visual programming design canvas area, wherein the visual programming design canvas area includes an arrangement of a plurality of placed blocks;
- and
- iterating by the computing device, in response to receiving the command to activate the block placing tool, over each selected block in a selection of blocks, wherein the selection of blocks includes a plurality of selected blocks of the plurality of placed blocks, wherein the plurality of selected blocks are in a selected arrangement, wherein each selected block in the selection of blocks has a block type, wherein for each selected block being traversed:
- determining by the computing device whether the block type of the selected block conforms to a mapping in a mapping definition, wherein the mapping definition includes at least one mapping, wherein each mapping in the mapping definition specifies a relationship between a first type and a corresponding second type, wherein the first type includes a first block type, wherein the second type includes a second block type;
- determining by the computing device a new block type, wherein the new block type is the corresponding block type specified in the mapping when the block type of the selected block conforms to the mapping and the new block type is the block type of the selected block when the block type of the selected block does not conform to a mapping in the mapping definition;
- and
- placing by the computing device a new block of the determined new block type in the visual programming design canvas area as part of a new arrangement, wherein the new arrangement is a modified copy of the selected arrangement of the plurality of selected blocks.
A non-transitory computer readable medium having stored therein instructions executable by a processor, wherein the instructions are executable to:
- receive a command to activate a block placing tool, wherein the command is received through a graphical user interface for a visual programming language, wherein the graphical user interface includes a visual programming design canvas area, wherein the visual programming design canvas area includes an arrangement of a plurality of placed blocks;
- and
- iterate, in response to receiving the command to activate the block placing tool, over each selected block in a selection of blocks, wherein the selection of blocks includes a plurality of selected blocks of the plurality of placed blocks, wherein the plurality of selected blocks are in a selected arrangement, wherein each selected block in the selection of blocks has a block type, wherein for each selected block being traversed:
- determine whether the block type of the selected block conforms to a mapping in a mapping definition, wherein the mapping definition includes at least one mapping, wherein each mapping in the mapping definition specifies a relationship between a first type and a corresponding second type, wherein the first type includes a first block type, wherein the second type includes a second block type;
- determine a new block type, wherein the new block type is the corresponding block type specified in the mapping when the block type of the selected block conforms to the mapping and the new block type is the block type of the selected block when the block type of the selected block does not conform to a mapping in the mapping definition;
- and
- place a new block of the determined new block type in the visual programming design canvas area as part of a new arrangement, wherein the new arrangement is a modified copy of the selected arrangement of the plurality of selected blocks.
A system including:
- a computing device,
- wherein the computing device is configured to receive a command to activate a block placing tool, wherein the command is received through a graphical user interface for a visual programming language, wherein the graphical user interface includes a visual programming design canvas area, wherein the visual programming design canvas area includes an arrangement of a plurality of placed blocks;
- and
- wherein the computing device is configured to iterate, in response to receiving the command to activate the block placing tool, over each selected block in a selection of blocks, wherein the selection of blocks includes a plurality of selected blocks of the plurality of placed blocks, wherein the plurality of selected blocks are in a selected arrangement, wherein each selected block in the selection of blocks has a block type, wherein for each selected block being traversed the computing device is configured to:
- determine whether the block type of the selected block conforms to a mapping in a mapping definition, wherein the mapping definition includes at least one mapping, wherein each mapping in the mapping definition specifies a relationship between a first type and a corresponding second type, wherein the first type includes a first block type, wherein the second type includes a second block type;
- determine a new block type, wherein the new block type is the corresponding block type specified in the mapping when the block type of the selected block conforms to the mapping and the new block type is the block type of the selected block when the block type of the selected block does not conform to a mapping in the mapping definition;
- and
- place a new block of the determined new block type in the visual programming design canvas area as part of a new arrangement, wherein the new arrangement is a modified copy of the selected arrangement of the plurality of selected blocks.
Dependencies are inferred from the claim text.