---
id: "E:cAlgo.API.CustomSymbol.BarsUnloaded"
kind: "event"
type: "T:cAlgo.API.CustomSymbol"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbol/BarsUnloaded/"
---

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

# CustomSymbol.BarsUnloaded

Member of [CustomSymbol](https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbol/index.md).

## BarsUnloaded

Occurs when a custom bars is unloaded and not being used anymore.

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<CustomSymbolBarsUnloadedEventArgs> BarsUnloaded;
```

Python:

```python
customSymbol.BarsUnloaded += handler  # handler(obj: CustomSymbolBarsUnloadedEventArgs)
```

### Returns

`Action<CustomSymbolBarsUnloadedEventArgs>` — 

Available since cAlgo.API 5.3.

### Examples

C#:

```csharp
protected override void OnStart()
{
    var customSymbol = CustomSymbols.Add("MYEURUSD", Symbols.GetSymbol("EURUSD"));
    customSymbol.BarsUnloaded += OnBarsUnloaded;
}

private void OnBarsUnloaded(CustomSymbolBarsUnloadedEventArgs args)
{
    var isRemoved = args.CustomSymbol.RemoveBars(args.CustomBars.TimeFrame);
    Print("Unloaded {0} bars removed: {1}", args.CustomBars.TimeFrame, isRemoved);
}
```

Python:

```python
def on_start(self):
    customSymbol = api.CustomSymbols.Add("MYEURUSD", api.Symbols.GetSymbol("EURUSD"))
    customSymbol.BarsUnloaded += self.on_bars_unloaded

def on_bars_unloaded(self, args):
    isRemoved = args.CustomSymbol.RemoveBars(args.CustomBars.TimeFrame)
    api.Print(f"Unloaded {args.CustomBars.TimeFrame} bars removed: {isRemoved}")
```

