---
id: "T:cAlgo.API.MessageArgs`1"
kind: "class"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/"
---

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

# MessageArgs<TMessage> (class)

Provides data for the message handler.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public class MessageArgs<TMessage>
```

Available since cAlgo.API 5.2.

## Examples

C#:

```csharp
protected override void OnStart()
{
    Messages.Subscribe<string>("Signals", OnSignalReceived);
}

private void OnSignalReceived(MessageArgs<string> args)
{
    Print("{0} from {1} on chart {2}: {3}", args.Subscription.Subject, args.SenderInstanceId, args.ChartId, args.Message);
}
```

Python:

```python
# Not available in Python: MessageArgs is only received by handlers of the generic Messages.Subscribe method
```

## Properties

- `public string ChartId {get;}` — Gets message sender ChartId. ChartId is null for plugin sent messages. [details](https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/ChartId/index.md)
- `public TMessage Message {get;}` — Gets the message. [details](https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/Message/index.md)
- `public string SenderInstanceId {get;}` — Gets message sender instance Id. [details](https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/SenderInstanceId/index.md)
- `public MessageSubscription Subscription {get;}` — Gets message subscription. [details](https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/Subscription/index.md)

