---
id: "T:cAlgo.API.IndicatorType"
kind: "interface"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorType/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# IndicatorType (interface)

Represents an indicator algorithm type.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public interface IndicatorType
```

## Examples

C#:

```csharp
public partial class TestExample : Robot
{
    protected override void OnStart()
    {
        if (AlgoRegistry.Get("Simple Moving Average", AlgoKind.StandardIndicator) is IndicatorType smaIndicatorType)
            Print($"Name: {smaIndicatorType.Name} | Parameters #: {smaIndicatorType.Parameters.Count} | Lines #: {smaIndicatorType.Lines.Count} | Bars: {smaIndicatorType.Bars.Count}");
    }
}
```

Python:

```python
import clr

clr.AddReference("cAlgo.API")

# Import cAlgo API types
from cAlgo.API import *

# Import trading wrapper functions
from robot_wrapper import *

class Test():
    def on_start(self):
        indicatorType = api.AlgoRegistry.Get("Simple Moving Average", AlgoKind.StandardIndicator)
        if indicatorType is not None:
            smaIndicatorType = IndicatorType(indicatorType)
            print(f"Name: {smaIndicatorType.Name} | Parameters #: {smaIndicatorType.Parameters.Count} | Lines #: {smaIndicatorType.Lines.Count} | Bars: {smaIndicatorType.Bars.Count}")
```

config.json:

```json
{
  "AccessRights": "None"
}
```

## Properties

- `IReadonlyList<IndicatorTypeBarOutput> Bars {get;}` — Gets collection of indicator bar outputs. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorType/Bars/index.md)
- `IReadonlyList<IndicatorTypeLineOutput> Lines {get;}` — Gets collection of indicator line outputs. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorType/Lines/index.md)
- `IReadonlyList<AlgoParameter> Parameters {get;}` — Gets collection of indicator parameters. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorType/Parameters/index.md)

## Inherited members

- `string Name {get;}` (from AlgoType) [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/Name/index.md)
- `AlgoKind AlgoKind {get;}` (from AlgoType) [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/AlgoKind/index.md)
- `string ProjectFilePath {get;}` (from AlgoType) [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/ProjectFilePath/index.md)

## Deprecated members

- `IReadonlyList<IndicatorOutput> Outputs {get;}` — Use Lines instead

