---
id: "M:cAlgo.API.OptimizationEnumParameter.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String})"
kind: "constructor"
type: "T:cAlgo.API.OptimizationEnumParameter"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/Constructor/"
---

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

# OptimizationEnumParameter constructor

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

## OptimizationEnumParameter(string name, IEnumerable<string> values)

Optimizes over the enum members named by the given values.

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 OptimizationEnumParameter(string name, IEnumerable<string> values)
```

Python:

```python
OptimizationEnumParameter(name: str, values: Iterable[str])
```

### Parameters

- `name` (`string`, Python `str`): The cBot parameter name.
- `values` (`IEnumerable<string>`, Python `Iterable[str]`): The discrete set of enum member names to optimize over.

Available since cAlgo.API 5.9.

### Examples

C#:

```csharp
var parameter = new OptimizationEnumParameter("MAType", new[] { "Simple", "Exponential" });
Print("{0} is optimized: {1}", parameter.Name, parameter.IsOptimized);
```

Python:

```python
parameter = OptimizationEnumParameter("MAType", ["Simple", "Exponential"])
api.Print(f"{parameter.Name} is optimized: {parameter.IsOptimized}")
```

## OptimizationEnumParameter(string name, string value)

Holds the parameter fixed at the enum member named by the given value.

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 OptimizationEnumParameter(string name, string value)
```

Python:

```python
OptimizationEnumParameter(name: str, value: str)
```

### Parameters

- `name` (`string`, Python `str`): The cBot parameter name.
- `value` (`string`, Python `str`): The fixed enum member name.

Available since cAlgo.API 5.9.

### Examples

C#:

```csharp
var parameter = new OptimizationEnumParameter("MAType", "Exponential");
Print("{0} is fixed at {1}", parameter.Name, parameter.Value);
```

Python:

```python
parameter = OptimizationEnumParameter("MAType", "Exponential")
api.Print(f"{parameter.Name} is fixed at {parameter.Value}")
```

## OptimizationEnumParameter(OptimizationEnumParameter original)



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 OptimizationEnumParameter(OptimizationEnumParameter original)
```

Python:

```python
OptimizationEnumParameter(original: OptimizationEnumParameter)
```

### Parameters

- `original` (`OptimizationEnumParameter`, Python `OptimizationEnumParameter`):

Available since cAlgo.API 5.9.

