Simple Moving Average Example

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

The following code is an example of how to create a simple moving average with the custom tool scripting

// 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
    Plot1 : TPlot;

// 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 := 'Simple Moving Average';
    Tool.Key := '210189E5-77AF-4616-B5A1-04829030C11E';
    Tool.MouseClicks := 1;
    Tool.Hint := '';
    Tool.ToolType := ttDataList;

// Init is called to initialise the tool
// This procedure is called once when the tool is added to a chart
procedure Init(Tool : TTool);
    Plot1 := Tool.AddPlot('MA(BARS=200)');
    Plot1.Color := clBlue;
    Plot1.PlotStyle := Line;
    Plot1.FillColor := 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);