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

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

# OptimizationEnumParameter (record)

An `enum` cBot parameter, optimized over a set of members or held fixed. The CLR enum type is resolved from the cBot metadata, so members are supplied by their string names.

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 OptimizationEnumParameter : OptimizationParameter`1
```

Available since cAlgo.API 5.9.

## Examples

C#:

```csharp
var optimized = new OptimizationEnumParameter("MAType", new[] { "Simple", "Exponential", "Weighted" });
var fixedValue = new OptimizationEnumParameter("Source", "Close");
Print("{0} values: {1}, {2} fixed at {3}", optimized.Name, optimized.Values.Count, fixedValue.Name, fixedValue.Value);
```

Python:

```python
optimized = OptimizationEnumParameter("MAType", ["Simple", "Exponential", "Weighted"])
fixedValue = OptimizationEnumParameter("Source", "Close")
api.Print(f"{optimized.Name} values: {optimized.Values.Count}, {fixedValue.Name} fixed at {fixedValue.Value}")
```

## Constructors

- `public OptimizationEnumParameter(string name, IEnumerable<string> values)` — Optimizes over the enum members named by the given values. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/Constructor/index.md)
- `public OptimizationEnumParameter(string name, string value)` — Holds the parameter fixed at the enum member named by the given value. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/Constructor/index.md)
- `public OptimizationEnumParameter(OptimizationEnumParameter original)` —  [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/Constructor/index.md)

## Properties

- `public IReadOnlyList<string> Values {get;}` — Gets the discrete set of enum member names to optimize over. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/Values/index.md)

## Inherited members

- `public string Name {get;}` (from OptimizationParameter) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationParameter/Name/index.md)
- `public bool IsOptimized {get;}` (from OptimizationParameter) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationParameter/IsOptimized/index.md)

