---
id: "T:cAlgo.API.OptimizationCompletedEventArgs"
kind: "record"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/"
---

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

# OptimizationCompletedEventArgs (record)

Provides data for the optimization completed event.

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.

## Definition

```csharp
public class OptimizationCompletedEventArgs
```

Available since cAlgo.API 5.9.

## Examples

C#:

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

private void OnOptimizationCompleted(OptimizationCompletedEventArgs args)
{
    Print("Optimization completed, error: {0}, best pass: {1}", args.Process.OptimizationError, args.BestPass?.Id);
}
```

Python:

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

def on_optimization_completed(self, args):
    api.Print(f"Optimization completed, error: {args.Process.OptimizationError}")
```

## Constructors

- `public OptimizationCompletedEventArgs(OptimizationCompletedEventArgs original)` —  [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/Constructor/index.md)

## Properties

- `public OptimizationPass BestPass {get;}` — Gets the best pass by the configured criteria or custom fitness, or null if no pass completed. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/BestPass/index.md)
- `public string JsonReport {get;}` — Gets the full optimization result as JSON (the .optres content). [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/JsonReport/index.md)
- `public OptimizationProcess Process {get;}` — Gets the optimization process that has completed. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/Process/index.md)

