---
id: "M:cAlgo.API.ChartArea.DrawElliottImpulse(System.String,cAlgo.API.ChartPoint,cAlgo.API.ChartPoint,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/DrawElliottImpulse/"
---

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

# ChartArea.DrawElliottImpulse

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

## DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color)

Draws an Elliott Impulse Wave (1-2-3-4-5).

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
ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color)
```

Python:

```python
chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color) -> ChartElliottImpulse
```

### 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.
- `wave1` (`ChartPoint`, Python `ChartPoint`): The wave 1 anchor point.
- `wave2` (`ChartPoint`, Python `ChartPoint`): The wave 2 anchor point.
- `wave3` (`ChartPoint`, Python `ChartPoint`): The wave 3 anchor point.
- `wave4` (`ChartPoint`, Python `ChartPoint`): The wave 4 anchor point.
- `wave5` (`ChartPoint`, Python `ChartPoint`): The wave 5 anchor point.
- `color` (`Color`, Python `Color`): The Elliott Impulse Wave lines color.

### Returns

`ChartElliottImpulse` — ChartElliottImpulse.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var impulse = Chart.DrawElliottImpulse("impulse", new ChartPoint(Bars.OpenTimes.Last(60), Bars.LowPrices.Last(60)), new ChartPoint(Bars.OpenTimes.Last(50), Bars.HighPrices.Last(50)), new ChartPoint(Bars.OpenTimes.Last(40), Bars.LowPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.HighPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.LowPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.HighPrices.Last(10)), Color.Red);
Print("Impulse wave 5 at {0}", impulse.Wave5.Y);
```

Python:

```python
impulse = api.Chart.DrawElliottImpulse("impulse", ChartPoint(api.Bars.OpenTimes.Last(60), api.Bars.LowPrices.Last(60)), ChartPoint(api.Bars.OpenTimes.Last(50), api.Bars.HighPrices.Last(50)), ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.LowPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.HighPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.LowPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.HighPrices.Last(10)), Color.Red)
api.Print(f"Impulse wave 5 at {impulse.Wave5.Y}")
```

## DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness)

Draws an Elliott Impulse Wave (1-2-3-4-5).

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
ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness)
```

Python:

```python
chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color, thickness: int) -> ChartElliottImpulse
```

### 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.
- `wave1` (`ChartPoint`, Python `ChartPoint`): The wave 1 anchor point.
- `wave2` (`ChartPoint`, Python `ChartPoint`): The wave 2 anchor point.
- `wave3` (`ChartPoint`, Python `ChartPoint`): The wave 3 anchor point.
- `wave4` (`ChartPoint`, Python `ChartPoint`): The wave 4 anchor point.
- `wave5` (`ChartPoint`, Python `ChartPoint`): The wave 5 anchor point.
- `color` (`Color`, Python `Color`): The Elliott Impulse Wave lines color.
- `thickness` (`int`, Python `int`): The Elliott Impulse Wave lines thickness.

### Returns

`ChartElliottImpulse` — ChartElliottImpulse.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var impulse = Chart.DrawElliottImpulse("impulse", new ChartPoint(Bars.OpenTimes.Last(60), Bars.LowPrices.Last(60)), new ChartPoint(Bars.OpenTimes.Last(50), Bars.HighPrices.Last(50)), new ChartPoint(Bars.OpenTimes.Last(40), Bars.LowPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.HighPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.LowPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.HighPrices.Last(10)), Color.Red, 2);
Print("Impulse thickness: {0}", impulse.Thickness);
```

Python:

```python
impulse = api.Chart.DrawElliottImpulse("impulse", ChartPoint(api.Bars.OpenTimes.Last(60), api.Bars.LowPrices.Last(60)), ChartPoint(api.Bars.OpenTimes.Last(50), api.Bars.HighPrices.Last(50)), ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.LowPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.HighPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.LowPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.HighPrices.Last(10)), Color.Red, 2)
api.Print(f"Impulse thickness: {impulse.Thickness}")
```

## DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness, LineStyle lineStyle)

Draws an Elliott Impulse Wave (1-2-3-4-5).

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
ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness, LineStyle lineStyle)
```

Python:

```python
chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottImpulse
```

### 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.
- `wave1` (`ChartPoint`, Python `ChartPoint`): The wave 1 anchor point.
- `wave2` (`ChartPoint`, Python `ChartPoint`): The wave 2 anchor point.
- `wave3` (`ChartPoint`, Python `ChartPoint`): The wave 3 anchor point.
- `wave4` (`ChartPoint`, Python `ChartPoint`): The wave 4 anchor point.
- `wave5` (`ChartPoint`, Python `ChartPoint`): The wave 5 anchor point.
- `color` (`Color`, Python `Color`): The Elliott Impulse Wave lines color.
- `thickness` (`int`, Python `int`): The Elliott Impulse Wave lines thickness.
- `lineStyle` (`LineStyle`, Python `LineStyle`): The Elliott Impulse Wave lines style.

### Returns

`ChartElliottImpulse` — ChartElliottImpulse.

Available since cAlgo.API 5.10.

### Examples

C#:

```csharp
var impulse = Chart.DrawElliottImpulse("impulse", new ChartPoint(Bars.OpenTimes.Last(60), Bars.LowPrices.Last(60)), new ChartPoint(Bars.OpenTimes.Last(50), Bars.HighPrices.Last(50)), new ChartPoint(Bars.OpenTimes.Last(40), Bars.LowPrices.Last(40)), new ChartPoint(Bars.OpenTimes.Last(30), Bars.HighPrices.Last(30)), new ChartPoint(Bars.OpenTimes.Last(20), Bars.LowPrices.Last(20)), new ChartPoint(Bars.OpenTimes.Last(10), Bars.HighPrices.Last(10)), Color.Red, 2, LineStyle.Dots);
Print("Impulse style: {0}", impulse.LineStyle);
```

Python:

```python
impulse = api.Chart.DrawElliottImpulse("impulse", ChartPoint(api.Bars.OpenTimes.Last(60), api.Bars.LowPrices.Last(60)), ChartPoint(api.Bars.OpenTimes.Last(50), api.Bars.HighPrices.Last(50)), ChartPoint(api.Bars.OpenTimes.Last(40), api.Bars.LowPrices.Last(40)), ChartPoint(api.Bars.OpenTimes.Last(30), api.Bars.HighPrices.Last(30)), ChartPoint(api.Bars.OpenTimes.Last(20), api.Bars.LowPrices.Last(20)), ChartPoint(api.Bars.OpenTimes.Last(10), api.Bars.HighPrices.Last(10)), Color.Red, 2, LineStyle.Dots)
api.Print(f"Impulse style: {impulse.LineStyle}")
```

