> For the complete documentation index, see [llms.txt](https://fto-2.gitbook.io/fto-indicators-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fto-2.gitbook.io/fto-indicators-docs/readme.md).

# Overview

Build custom indicators for Forex Tester Online.

Create, build, and upload TypeScript indicators that turn chart data into reusable calculations and visual signals.

## Start here

| Goal                      | Page                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------------ |
| First build and upload    | [Open and upload an indicator](/fto-indicators-docs/open-and-upload-indicator.md)                |
| Author with Cursor AI     | [Create an indicator with Cursor](/fto-indicators-docs/tutorial-create-indicator-with-cursor.md) |
| Download working examples | [Download indicator examples](/fto-indicators-docs/built-in-indicators.md)                       |

## How indicators work

An indicator is a TypeScript class that extends `Indicator`. In `OnInit`, it registers inputs, creates buffers, and sets up plots. `OnCalculate` writes values for a bar index as chart history updates. Parameter changes, visibility, and cleanup have their own optional [lifecycle hooks](/fto-indicators-docs/api-reference/lifecycle.md).

## API reference

The [API reference](/fto-indicators-docs/api-reference.md) covers lifecycle hooks, inputs, plots, market data, chart tools, and utilities.

Recommended first reads:

* [Indicator lifecycle](/fto-indicators-docs/api-reference/lifecycle/indicator-lifecycle.md)
* [Input registration](/fto-indicators-docs/api-reference/inputs/registration-and-runtime-use/input-registration.md)
* [Plot setup](/fto-indicators-docs/api-reference/plots-and-buffers/plot-setup.md)
