---
id: "T:cAlgo.API.ChartIndicator"
kind: "interface"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/"
---

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

# ChartIndicator (interface)

The interface representing an indicator attached to a chart. Provides properties that allow for accessing various information about an indicator.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public interface ChartIndicator
```

## Examples

C#:

```csharp
using cAlgo.API;

namespace cAlgo.Robots;

public partial class TestExample : Robot
{
   protected override void OnStart()
   {
       foreach (var chartIndicator in ChartIndicators)
       {
            Print($"Name: {chartIndicator.Name} | Type: {chartIndicator.Type} | InstanceId: {chartIndicator.InstanceId} | Bar Outputs #: {chartIndicator.BarOutputs.Count} | Line Outputs #: {chartIndicator.LineOutputs.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):
        for chartIndicator in api.ChartIndicators:
            print(f"Name: {chartIndicator.Name} | Type: {chartIndicator.Type} | InstanceId: {chartIndicator.InstanceId} | Bar Outputs #: {chartIndicator.BarOutputs.Count} | Line Outputs #: {chartIndicator.LineOutputs.Count}")
```

config.json:

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

## Properties

- `IReadonlyList<IndicatorBarOutput> BarOutputs {get;}` — Gets the IReadonlyList of indicator bar outputs. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/BarOutputs/index.md)
- `string InstanceId {get;}` — Gets the ID of a specific indicator instance. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/InstanceId/index.md)
- `IReadonlyList<IndicatorLineOutput> LineOutputs {get;}` — Gets the IReadonlyList of indicator output lines. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/LineOutputs/index.md)
- `string Name {get;}` — Gets the name of an indicator. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/Name/index.md)
- `int PanelIndex {get; set;}` — Gets or sets the index of the panel on which an indicator is displayed. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/PanelIndex/index.md)
- `AlgoInstanceParameters Parameters {get;}` — Gets the collection of indicator parameters. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/Parameters/index.md)
- `IndicatorType Type {get;}` — Gets the IndicatorType of an indicator. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/Type/index.md)

## Deprecated members

- `IReadonlyList<IndicatorLine> Lines {get;}` — Use LineOutputs instead

