> For the complete documentation index, see [llms.txt](https://gorilli.gitbook.io/gorillionaire/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gorilli.gitbook.io/gorillionaire/generation-process/signal-generation.md).

# Signal generation

Each indicator has a trigger point, which typically consists of either a threshold or a crossover condition.

* **THRESHOLD:** This usually refers to indicators that are also oscillators. These indicators fluctuate within a fixed range of minimum and maximum values. If the indicator exceeds a certain value, it triggers a BUY or SELL signal, depending on the context.

<figure><img src="/files/AFww0iiaoFXpSXePcu5D" alt=""><figcaption></figcaption></figure>

* **CROSSOVER:** This typically refers to independent trending lines. When two or more lines cross each other, a BUY or SELL signal is triggered, usually indicating a shift in the market’s primary trend.

<figure><img src="/files/xN3mup4AvjAhAuv9jaRb" alt=""><figcaption></figcaption></figure>

Every time a given indicator meets either a threshold or crossover condition, a signal is generated.

As a reminder, all signals are derived from a token’s price data, combined with the selected timeframe and indicator.

This structure allows the Gorillionaire API to be adapted to any kind of time-series data that follows the standard OHLCV format.

<br>
