---
id: "P:cAlgo.API.OptimizationCompletedEventArgs.BestPass"
kind: "property"
type: "T:cAlgo.API.OptimizationCompletedEventArgs"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/BestPass/"
---

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

# OptimizationCompletedEventArgs.BestPass

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

## BestPass

Gets the best pass by the configured criteria or custom fitness, or null if no pass completed.

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
public OptimizationPass BestPass {get;}
```

Python:

```python
optimizationCompletedEventArgs.BestPass: OptimizationPass
```

### Returns

`OptimizationPass` — 

Available since cAlgo.API 5.9.

### Examples

C#:

```csharp
protected override void OnStart()
{
    Optimization.Completed += OnOptimizationCompleted;
}

private void OnOptimizationCompleted(OptimizationCompletedEventArgs args)
{
    var bestPass = args.BestPass;
    if (bestPass == null)
        return;
    foreach (var parameter in bestPass.ParameterValues)
        Print("Best {0} = {1}", parameter.Key, parameter.Value);
}
```

Python:

```python
def on_start(self):
    api.Optimization.Completed += self.on_optimization_completed

def on_optimization_completed(self, args):
    bestPass = args.BestPass
    if bestPass is None:
        return
    for parameter in bestPass.ParameterValues:
        api.Print(f"Best {parameter.Key} = {parameter.Value}")
```

