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

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

# Watchlist (interface)

Represents the Watchlist interface.

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 (Watchlists, Watchlists.Item, WatchlistAddedEventArgs.Watchlist and more).

## Definition

```csharp
public interface Watchlist
```

## Examples

C#:

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

namespace cAlgo
{
    // This sample shows how to use Automate API to monitor user platform Watchlists
    public partial class Test : Indicator
    {
        protected override void Initialize()
        {
            Watchlists.Added += OnWatchlistAdded;
            Watchlists.Removed += OnWatchlistRemoved;
            Watchlists.WatchlistRenamed += OnWatchlistRenamed;
            Watchlists.WatchlistSymbolAdded += OnWatchlistSymbolAdded;
            Watchlists.WatchlistSymbolRemoved += OnWatchlistSymbolRemoved;

            Print("Number of Watchlists: ", Watchlists.Count());

            foreach (var watchlist in Watchlists)
            {
                Print("Watchlist Name: {0} | Symbols #: {1}", watchlist.Name, watchlist.SymbolNames.Count);
            }
        }

        private void OnWatchlistSymbolRemoved(WatchlistSymbolRemovedEventArgs obj)
        {
            Print("Symbol {0} Removed From Watchlist {1}", obj.SymbolName, obj.Watchlist.Name);
        }

        private void OnWatchlistSymbolAdded(WatchlistSymbolAddedEventArgs obj)
        {
            Print("Symbol {0} Added to Watchlist {1}", obj.SymbolName, obj.Watchlist.Name);
        }

        private void OnWatchlistRenamed(WatchlistRenamedEventArgs obj)
        {
            Print("Renamed Watchlist {0}", obj.Watchlist.Name);
        }

        private void OnWatchlistRemoved(WatchlistRemovedEventArgs obj)
        {
            Print("Removed Watchlist {0}", obj.Watchlist.Name);
        }

        private void OnWatchlistAdded(WatchlistAddedEventArgs obj)
        {
            Print("Added Watchlist {0}", obj.Watchlist.Name);
        }

        public override void Calculate(int index)
        {
        }
    }
}
```

Python:

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

from cAlgo.API import *

class Test():
    def initialize(self):
        api.Watchlists.Removed += self.on_watchlist_removed
        api.Watchlists.WatchlistRenamed += self.on_watchlist_renamed
        api.Watchlists.Added += self.on_watchlist_added
        api.Watchlists.WatchlistSymbolAdded += self.on_watchlist_symbol_added
        api.Watchlists.WatchlistSymbolRemoved += self.on_watchlist_symbol_removed

        api.Print(f"Number of Watchlists: {len(list(api.Watchlists))}")

        for watchlist in api.Watchlists:
            api.Print(f"Watchlist Name: {watchlist.Name} | Symbols #: {watchlist.SymbolNames.Count}")

    def on_watchlist_added(self, args):
        api.Print(f"Watchlist '{args.Watchlist.Name}' has been added")

    def on_watchlist_renamed(self, args):
        api.Print(f"Watchlist renamed to {args.Watchlist.Name}")

    def on_watchlist_removed(self, args):
        api.Print(f"Watchlist '{args.Watchlist.Name}' has been removed")

    def on_watchlist_symbol_added(self, args):
        api.Print(f"Symbol {args.SymbolName} Added to Watchlist {args.Watchlist.Name}")

    def on_watchlist_symbol_removed(self, args):
        api.Print(f"Symbol {args.SymbolName} removed from watchlist {args.Watchlist.Name}")
```

config.json:

```json
{
  "AccessRights": "None",
  "TimeZone": "UTC",
  "IsOverlay": true
}
```

## Properties

- `string Name {get;}` — Gets the watchlist name. [details](https://help.ctrader.com/ctrader-algo/references/Watchlists/Watchlist/Name/index.md)
- `IReadonlyList<string> SymbolNames {get;}` — Gets the names of the symbols in the watchlist. [details](https://help.ctrader.com/ctrader-algo/references/Watchlists/Watchlist/SymbolNames/index.md)

