---
id: "M:cAlgo.API.Robot.GetFitness(cAlgo.API.GetFitnessArgs)"
kind: "method"
type: "T:cAlgo.API.Robot"
url: "https://help.ctrader.com/ctrader-algo/references/General/Robot/GetFitness/"
---

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

# Robot.GetFitness

Member of [Robot](https://help.ctrader.com/ctrader-algo/references/General/Robot/index.md).

## GetFitness(GetFitnessArgs args)

Override this method to provide custom fitness value for Optimization

Environments: Desktop supported · CLI supported · Cloud supported.

C#:

```csharp
protected internal double GetFitness(GetFitnessArgs args)
```

Python:

```python
api.GetFitness(args: GetFitnessArgs) -> float
```

### Parameters

- `args` (`GetFitnessArgs`, Python `GetFitnessArgs`):

### Returns

`double` — Fitness value of your cBot

### Examples

C#:

```csharp
protected override double GetFitness(GetFitnessArgs args)
{
    if (args.TotalTrades == 0)
        return 0;
    return args.NetProfit / Math.Max(args.MaxEquityDrawdown, 1);
}
```

Python:

```python
def get_fitness(self, args):
    if args.TotalTrades == 0:
        return 0
    return args.NetProfit / max(args.MaxEquityDrawdown, 1)
```

