---
id: "E:cAlgo.API.ChartManager.ActiveFrameChanged"
kind: "event"
type: "T:cAlgo.API.ChartManager"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartManager/ActiveFrameChanged/"
---

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

# ChartManager.ActiveFrameChanged

Member of [ChartManager](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartManager/index.md).

## ActiveFrameChanged

Occurs when active frame is changed.

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.

C#:

```csharp
event Action<ActiveFrameChangedEventArgs> ActiveFrameChanged;
```

Python:

```python
api.ChartManager.ActiveFrameChanged += handler  # handler(obj: ActiveFrameChangedEventArgs)
```

### Returns

`Action<ActiveFrameChangedEventArgs>` — 

### Examples

C#:

```csharp
protected override void OnStart()
{
    ChartManager.ActiveFrameChanged += OnActiveFrameChanged;
}

private void OnActiveFrameChanged(ActiveFrameChangedEventArgs args)
{
    if (args.NewFrame is ChartFrame chartFrame)
        Print("Active chart changed to {0} {1}", chartFrame.Symbol.Name, chartFrame.TimeFrame);
}
```

Python:

```python
def on_start(self):
    api.ChartManager.ActiveFrameChanged += self.on_active_frame_changed

def on_active_frame_changed(self, args):
    if args.NewFrame is not None and isinstance(args.NewFrame.__implementation__, ChartFrame):
        chartFrame = ChartFrame(args.NewFrame)
        api.Print(f"Active chart changed to {chartFrame.Symbol.Name} {chartFrame.TimeFrame}")
```

