---
id: "T:cAlgo.API.FavoriteTimeFrames"
kind: "interface"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/"
---

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

# FavoriteTimeFrames (interface)

Provides access to favorite TimeFrames API for plugins.

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

- CLI: Available to plugins only, and plugins cannot run in the CLI.
- Cloud: Available to plugins only, and plugins cannot run in the cloud.

## Definition

```csharp
public interface FavoriteTimeFrames
```

Available since cAlgo.API 5.3.

## Examples

C#:

```csharp
using cAlgo.API;
using System.Linq;

namespace cAlgo.Plugins;

public partial class Test : Plugin
{
    protected override void OnStart()
    {
        TimeFrameManager.Favorite.Added += args => Print($"Favorite TimeFrames added: {string.Join(", ", args.TimeFrames.Select(timeFrame => timeFrame.Name))}");
        TimeFrameManager.Favorite.Removed += args => Print($"Favorite TimeFrames removed: {string.Join(", ", args.TimeFrames.Select(timeFrame => timeFrame.Name))}");

        TimeFrameManager.Favorite.Add(TimeFrame.Daily);
        TimeFrameManager.Favorite.Add(TimeFrame.Range1);
        TimeFrameManager.Favorite.Add(TimeFrame.Range100);

        Print($"Is Range100 on Favorite TimeFrames: {TimeFrameManager.Favorite.Contains(TimeFrame.Range100)}");

        TimeFrameManager.Favorite.Remove(TimeFrame.Range100);
    }
}
```

Python:

```python
import clr
clr.AddReference("cAlgo.API")

from cAlgo.API import *

class Test():
    def on_start(self):
        api.TimeFrameManager.Favorite.Added += lambda args: print(f"Favorite TimeFrames added: {', '.join([t.Name for t in args.TimeFrames])}")
        api.TimeFrameManager.Favorite.Removed += lambda args: print(f"Favorite TimeFrames removed: {', '.join([t.Name for t in args.TimeFrames])}")

        api.TimeFrameManager.Favorite.Add(TimeFrame.Daily)
        api.TimeFrameManager.Favorite.Add(TimeFrame.Range1)
        api.TimeFrameManager.Favorite.Add(TimeFrame.Range100)

        print(f"Is Range100 on Favorite TimeFrames: {api.TimeFrameManager.Favorite.Contains(TimeFrame.Range100)}")

        api.TimeFrameManager.Favorite.Remove(TimeFrame.Range100)
```

config.json:

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

## Methods

- `void Add(TimeFrame timeFrame)` — Adds a time frame to favorite TimeFrames. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/Add/index.md)
- `bool Contains(TimeFrame timeFrame)` — Returns True if passed TimeFrame is in favorite TimeFrames otherwise False. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/Contains/index.md)
- `bool Remove(TimeFrame timeFrame)` — Removes a time frame from favorite TimeFrames. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/Remove/index.md)

## Events

- `event Action<FavoriteTimeFramesAddedEventArgs> Added;` — Occurs when new TimeFrames are added to favorite TimeFrames. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/Added/index.md)
- `event Action<FavoriteTimeFramesRemovedEventArgs> Removed;` — Occurs when TimeFrames are removed from favorite TimeFrames. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/Removed/index.md)

