Triangle Example

Author: Optuma Team Last updated: Jan 23, 2024 09:00

The following code is an example of how to create a triangle tool.

// Sample script for Optuma tool scripting

// This section is where variable are defined that need to be used in both the Init and Process procedures
    Line1 : TLine;
    Line2 : TLine;
    Line3 : TLine;

// DefineTool is where the settings for the Tool are defined
// This procedure is called once when the tool is loaded
// Normally this procedure does not need to be changed
procedure DefineTool(Tool : TTool);
    Tool.Name := 'Triangle';
    Tool.MouseClicks := 3;
    Tool.Hint := '';
    Tool.ToolType := ttDrawing;

// Init is called to initialise the tool
// This procedure is called once when the tool is added to a chart
procedure Init(Tool : TTool);
   Line1 := Tool.AddLine();
   Line1.Color := clRed;
   Line2 := Tool.AddLine();
   Line2.Color := clGreen;
   Line3 := Tool.AddLine();
   Line3.Color := clBlue;

// Process is called to calculate and drawn the tool on screen
// This procedure is called when new data is received or loaded and
// when a selection point is moved by the user
procedure Process(Tool : TTool; ProcessStart : Integer; ProcessEnd : Integer; DataIn : TDataList);
   Line1.P1.Date := Tool.MP[0].Date;
   Line1.P1.Price := Tool.MP[0].Price;
   Line1.P2.Date := Tool.MP[1].Date;
   Line1.P2.Price := Tool.MP[1].Price;

   Line2.P1.Date := Tool.MP[1].Date;
   Line2.P1.Price := Tool.MP[1].Price;
   Line2.P2.Date := Tool.MP[2].Date;
   Line2.P2.Price := Tool.MP[2].Price;

   Line3.P1.Date := Tool.MP[2].Date;
   Line3.P1.Price := Tool.MP[2].Price;
   Line3.P2.Date := Tool.MP[0].Date;
   Line3.P2.Price := Tool.MP[0].Price;