> ## Documentation Index
> Fetch the complete documentation index at: https://takeprofit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Indie

> Everything you need to build custom indicators and strategies for TakeProfit — from your first script to the marketplace.

Indie®

Start building with Indie

Indie® is the language behind every indicator and strategy on TakeProfit.
Write one yourself, or describe the idea and let an LLM do the typing.

[Quick start](https://takeprofit.com/docs/indie/Quick-start.md)

[Write with AI](https://takeprofit.com/docs/guide/platform/ai-assistant/Mcp-server-guide.md)

[Library reference](https://takeprofit.com/docs/indie/Library-reference-overview.md)

**Aroon**

```py theme={null}
# indie:lang_version = 5
from indie import indicator, format, param, plot, color
from indie.algorithms import SinceLowest, SinceHighest


@indicator('Aroon', format=format.PRICE)
@param.int('length', default=14, min=1)
@plot.line(color=color.BLUE, title='Aroon Down')
@plot.line(color=color.YELLOW, title='Aroon Up')
def Main(self, length):
    lo_offset = SinceLowest.new(self.low, length)
    hi_offset = SinceHighest.new(self.high, length)

    down = 100 * (length - lo_offset[0]) / length
    up = 100 * (length - hi_offset[0]) / length

    return down, up
```

**Accum/Dist**

```py theme={null}
# indie:lang_version = 5
from indie import indicator, format, plot, color
from indie.algorithms import CumSum, Mfv


@indicator('Accum/Dist', format=format.VOLUME)
@plot.line(color=color.OLIVE)
def Main(self):
    return CumSum.new(Mfv.new())[0]
```

[More code examples
](https://takeprofit.com/docs/indie/Code-examples/educational-indicators.md)

## Explore Indie

What is Indie


Why the language exists and how it differs from Python

[Open](https://takeprofit.com/docs/indie/What-is-Indie.md)

Why Indie


The case for a language instead of a fixed indicator library

[Open](https://takeprofit.com/docs/indie/Why-Indie.md)

What you can build


Six things that are only possible because the language is there

[Open](https://takeprofit.com/docs/indie/What-you-can-build.md)

Quick start


Write and run your first indicator in a few minutes

[Open](https://takeprofit.com/docs/indie/Quick-start.md)

Code structure


Context, series, decorators and how execution works

[Open](https://takeprofit.com/docs/indie/Indicator-code-structure.md)

Library reference


Packages, builtins and the full API surface

[Open](https://takeprofit.com/docs/indie/Library-reference-overview.md)

MCP server


Let an LLM build, convert and validate indicators for you

[Open](https://takeprofit.com/docs/guide/platform/ai-assistant/Mcp-server-guide.md)

Code examples


Ready-to-run indicators and strategies to learn from

[Open](https://takeprofit.com/docs/indie/Code-examples/educational-indicators.md)

Need help?

Stuck on a script, a compiler error or a strategy that won't behave? Indie developers and our team answer you directly on Discord.

[Join our Discord](https://discord.gg/takeprofit)

[https://discord.gg/takeprofit](https://discord.gg/takeprofit)

`discord.gg/takeprofit`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.