> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ninjatrader.com/_mcp/server.

# BuiltFrom

## Definition

Determines the base dataset used to build the **BarsType** (i.e., Tick, Minute, Day). The **BuiltFrom** property will control the frequency in which [**OnDataPoint()**](/developer/desktop-sdk/references/bars-type/ondatapoint) processes historical data.

## Property Value

A [**BarsPeriodType**](/developer/desktop-sdk/references/common/onbarupdate/barsperiod) enum. Values that will be recognized include:

* **BarsPeriodType.Tick**
* **BarsPeriodType.Minute**
* **BarsPeriodType.Day**

Warning: Using other bars period types (e.g., Range, Volume, or other custom bars types) is NOT supported. The **BarsPeriodType** values mentioned above represent all of the fundamental data points needed to build a bar.

## Syntax

`BuiltFrom`

## Examples

```csharp
protected override void OnStateChange()
{
    if (State == State.SetDefaults)
    {
        Name     = "MyCustomBarsType";
        BarsPeriod   = new BarsPeriod { BarsPeriodType = (BarsPeriodType) 15, BarsPeriodTypeName = "MyCustomBarsType(15)", Value = 1 };
        BuiltFrom   = BarsPeriodType.Minute; // update OnDataPoint() every minute on historical data
        DaysToLoad   = 5;
    }

    else if (State == State.Configure)
    {
    }
}
```