×

Block placing tool for building a user-defined algorithm for electronic trading

  • US 10,121,197 B2
  • Filed: 04/16/2014
  • Issued: 11/06/2018
  • Est. Priority Date: 01/26/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system for placing new blocks in a trading algorithm being designed in a visual programming environment including:

  • a computing device,wherein the computing device is configured to display a visual programming design canvas area of a graphical user interface for a visual programming language, wherein the visual programming design canvas area includes a plurality of placed blocks, wherein the plurality of placed blocks are arranged to specify a definition for a trading algorithm in the visual programming language, wherein the arrangement of the plurality of placed blocks includes connections between outputs and inputs of blocks in the plurality of placed blocks, wherein the connections indicate how output values/events are provided to corresponding inputs when the output values/events are generated to communicate data within the trading algorithm;

    wherein the computing device is configured to receive a selection of blocks through the graphical user interface for the visual programming language, wherein the selection of blocks includes a plurality of selected blocks of the plurality of placed blocks in the visual programming design canvas area, wherein the plurality of selected blocks are in a selected arrangement, wherein the selected arrangement is based on the connections between the outputs and inputs of the selected blocks in the plurality of selected blocks, wherein each block in the selection of blocks has a block type;

    wherein the computing device is configured to receive a mapping definition through the graphical user interface for the visual programming language, 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;

    wherein the computing device is configured to receive a command to activate a block placing tool through the graphical user interface for the visual programming language; and

    wherein the computing device is configured to, in response to receiving the command to activate the block placing tool, iterate over each selected block in the selection of blocks and for the selected block being traversed;

    determine whether the block type of the selected block conforms to a mapping in the mapping definition;

    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 to modify the definition for the trading algorithm in the visual programming language, wherein the new arrangement is a modified copy of the selected arrangement of the plurality of selected blocks.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×