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

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

# AlgoType (interface)

Base type for representing an algorithm.

Environments: Desktop supported · CLI supported · Cloud not supported.

- Cloud: Never available in the cloud: it is only returned by members that do not work there (AlgoRegistry, AlgoRegistry.Get).

## Definition

```csharp
public interface AlgoType
```

## Examples

C#:

```csharp
public partial class TestExample : Robot
{
    protected override void OnStart()
    {
        foreach (var algo in AlgoRegistry)
        {
            Print($"Name: {algo.Name} | Kind: {algo.AlgoKind} | ProjectFilePath: {algo.ProjectFilePath}");
        }
    }
}
```

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 algo in api.AlgoRegistry:
            print(f"Name: {algo.Name} | Kind: {algo.AlgoKind} | ProjectFilePath: {algo.ProjectFilePath}")
```

config.json:

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

## Properties

- `AlgoKind AlgoKind {get;}` — Gets algorithm kind. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/AlgoKind/index.md)
- `string Name {get;}` — Gets algorithm name. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/Name/index.md)
- `string ProjectFilePath {get;}` — Gets algorithm project file ".csproj" path if it has source code, otherwise null. [details](https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/ProjectFilePath/index.md)

