---
id: "M:cAlgo.API.ChartArea.DrawElliottCorrection(System.String,cAlgo.API.ChartPoint,cAlgo.API.ChartPoint,cAlgo.API.ChartPoint,cAlgo.API.ChartPoint,cAlgo.API.Color)"
kind: "method"
type: "T:cAlgo.API.ChartArea"
url: "https://help.ctrader.com/ctrader-algo/references/Chart/ChartArea/DrawElliottCorrection/"
---

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

# ChartArea.DrawElliottCorrection

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

## DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color)

Draws an Elliott Correction Wave (A-B-C).

Environments: Desktop supported · CLI works differently · Cloud works differently.

- CLI: The object is created and returned, but never drawn: the CLI displays no chart.
- Cloud: The object is created and returned, but never drawn: the cloud displays no chart.

C#:

```csharp
ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color)
```

Python:

```python
chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color) -> ChartElliottCorrection
```

### Parameters

- `name` (`string`, Python `str`): The chart object name - a unique name that can be only used once for a chart area. If duplicated, the chart object will be replaced with a new one of the same name.
- `origin` (`ChartPoint`, Python `ChartPoint`): The origin (wave 0) anchor point.
- `waveA` (`ChartPoint`, Python `ChartPoint`): The wave A anchor point.
- `waveB` (`ChartPoint`, Python `ChartPoint`): The wave B anchor point.
- `waveC` (`ChartPoint`, Python `ChartPoint`): The wave C anchor point.
- `color` (`Color`, Python `Color`): The Elliott Correction Wave lines color.

### Returns

`ChartElliottCorrection` — ChartElliottCorrection.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var correction = Chart.DrawElliottCorrection("correction", new ChartPoint(Bars.OpenTimes.Last(40), Bars.HighPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.LowPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.HighPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.LowPrices.Last(10)), Color.Blue);
Print("Correction wave C at {0}", correction.WaveC.Y);
```

Python:

```python
correction = api.Chart.DrawElliottCorrection("correction", ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.HighPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.LowPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.HighPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.LowPrices.Last(10)), Color.Blue)
api.Print(f"Correction wave C at {correction.WaveC.Y}")
```

## DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness)

Draws an Elliott Correction Wave (A-B-C).

Environments: Desktop supported · CLI works differently · Cloud works differently.

- CLI: The object is created and returned, but never drawn: the CLI displays no chart.
- Cloud: The object is created and returned, but never drawn: the cloud displays no chart.

C#:

```csharp
ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness)
```

Python:

```python
chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color, thickness: int) -> ChartElliottCorrection
```

### Parameters

- `name` (`string`, Python `str`): The chart object name - a unique name that can be only used once for a chart area. If duplicated, the chart object will be replaced with a new one of the same name.
- `origin` (`ChartPoint`, Python `ChartPoint`): The origin (wave 0) anchor point.
- `waveA` (`ChartPoint`, Python `ChartPoint`): The wave A anchor point.
- `waveB` (`ChartPoint`, Python `ChartPoint`): The wave B anchor point.
- `waveC` (`ChartPoint`, Python `ChartPoint`): The wave C anchor point.
- `color` (`Color`, Python `Color`): The Elliott Correction Wave lines color.
- `thickness` (`int`, Python `int`): The Elliott Correction Wave lines thickness.

### Returns

`ChartElliottCorrection` — ChartElliottCorrection.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var correction = Chart.DrawElliottCorrection("correction", new ChartPoint(Bars.OpenTimes.Last(40), Bars.HighPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.LowPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.HighPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.LowPrices.Last(10)), Color.Blue, 2);
Print("Correction thickness: {0}", correction.Thickness);
```

Python:

```python
correction = api.Chart.DrawElliottCorrection("correction", ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.HighPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.LowPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.HighPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.LowPrices.Last(10)), Color.Blue, 2)
api.Print(f"Correction thickness: {correction.Thickness}")
```

## DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness, LineStyle lineStyle)

Draws an Elliott Correction Wave (A-B-C).

Environments: Desktop supported · CLI works differently · Cloud works differently.

- CLI: The object is created and returned, but never drawn: the CLI displays no chart.
- Cloud: The object is created and returned, but never drawn: the cloud displays no chart.

C#:

```csharp
ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness, LineStyle lineStyle)
```

Python:

```python
chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottCorrection
```

### Parameters

- `name` (`string`, Python `str`): The chart object name - a unique name that can be only used once for a chart area. If duplicated, the chart object will be replaced with a new one of the same name.
- `origin` (`ChartPoint`, Python `ChartPoint`): The origin (wave 0) anchor point.
- `waveA` (`ChartPoint`, Python `ChartPoint`): The wave A anchor point.
- `waveB` (`ChartPoint`, Python `ChartPoint`): The wave B anchor point.
- `waveC` (`ChartPoint`, Python `ChartPoint`): The wave C anchor point.
- `color` (`Color`, Python `Color`): The Elliott Correction Wave lines color.
- `thickness` (`int`, Python `int`): The Elliott Correction Wave lines thickness.
- `lineStyle` (`LineStyle`, Python `LineStyle`): The Elliott Correction Wave lines style.

### Returns

`ChartElliottCorrection` — ChartElliottCorrection.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var correction = Chart.DrawElliottCorrection("correction", new ChartPoint(Bars.OpenTimes.Last(40), Bars.HighPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.LowPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.HighPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.LowPrices.Last(10)), Color.Blue, 2, LineStyle.Dots);
Print("Correction style: {0}", correction.LineStyle);
```

Python:

```python
correction = api.Chart.DrawElliottCorrection("correction", ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.HighPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.LowPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.HighPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.LowPrices.Last(10)), Color.Blue, 2, LineStyle.Dots)
api.Print(f"Correction style: {correction.LineStyle}")
```

