---
id: "M:cAlgo.API.ChartManager.AddChartFrame(System.String,cAlgo.API.TimeFrame)"
kind: "method"
type: "T:cAlgo.API.ChartManager"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartManager/AddChartFrame/"
---

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

# ChartManager.AddChartFrame

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

## AddChartFrame(string symbolName, TimeFrame timeFrame)

Adds a new chart frame to main chart container.

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
ChartFrame AddChartFrame(string symbolName, TimeFrame timeFrame)
```

Python:

```python
api.ChartManager.AddChartFrame(symbolName: str, timeFrame: TimeFrame) -> ChartFrame
```

### Parameters

- `symbolName` (`string`, Python `str`): Symbol name
- `timeFrame` (`TimeFrame`, Python `TimeFrame`): Timeframe

### Returns

`ChartFrame` — Returns newly added chart frame.

### Examples

C#:

```csharp
var chartFrame = ChartManager.AddChartFrame("EURUSD", TimeFrame.Hour);
chartFrame.Activate();
Print("Opened {0} {1} chart", chartFrame.Symbol.Name, chartFrame.TimeFrame);
```

Python:

```python
chartFrame = api.ChartManager.AddChartFrame("EURUSD", TimeFrame.Hour)
chartFrame.Activate()
api.Print(f"Opened {chartFrame.Symbol.Name} {chartFrame.TimeFrame} chart")
```

## AddChartFrame(string symbolName, TimeFrame timeFrame, ChartContainer targetChartContainer)

Adds a new chart frame to target chart container.

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
ChartFrame AddChartFrame(string symbolName, TimeFrame timeFrame, ChartContainer targetChartContainer)
```

Python:

```python
api.ChartManager.AddChartFrame(symbolName: str, timeFrame: TimeFrame, targetChartContainer: ChartContainer) -> ChartFrame
```

### Parameters

- `symbolName` (`string`, Python `str`): Symbol name
- `timeFrame` (`TimeFrame`, Python `TimeFrame`): Timeframe
- `targetChartContainer` (`ChartContainer`, Python `ChartContainer`): Target chart container

### Returns

`ChartFrame` — Returns newly added chart frame.

### Examples

C#:

```csharp
var firstFrame = ChartManager.AddChartFrame("EURUSD", TimeFrame.Hour);
firstFrame.Detach();
var secondFrame = ChartManager.AddChartFrame("GBPUSD", TimeFrame.Minute15, firstFrame.ChartContainer);
Print("Detached container frames: {0}", secondFrame.ChartContainer.Count);
```

Python:

```python
firstFrame = api.ChartManager.AddChartFrame("EURUSD", TimeFrame.Hour)
firstFrame.Detach()
secondFrame = api.ChartManager.AddChartFrame("GBPUSD", TimeFrame.Minute15, firstFrame.ChartContainer)
api.Print(f"Detached container frames: {secondFrame.ChartContainer.Count}")
```

