---
id: "T:cAlgo.API.ChartElliottTripleCombo"
kind: "interface"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/"
---

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

# ChartElliottTripleCombo (interface)

Represents the Elliott Triple Combo Wave (W-X-Y-X-Z) chart object - an extended complex correction over six pivots (origin and W, X, Y, X, Z). The two X legs are named X1 and X2.

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

- CLI: Created and kept with all its properties, but never drawn: the CLI displays no chart.
- Cloud: Created and kept with all its properties, but never drawn: the cloud displays no chart.

## Definition

```csharp
public interface ChartElliottTripleCombo
```

Available since cAlgo.API 5.10.

## Examples

C#:

```csharp
using cAlgo.API;

namespace cAlgo
{
    // This sample shows how to use Chart.DrawElliottTripleCombo method to draw an Elliott Triple Combo Wave
    public partial class ElliottTripleComboSample : Indicator
    {
        protected override void Initialize()
        {
            var i = Chart.FirstVisibleBarIndex;
            var s = (Chart.LastVisibleBarIndex - i) / 6;
            var t = Bars.OpenTimes;
            var c = Bars.ClosePrices;

            Chart.DrawElliottTripleCombo("TripleCombo",
                new ChartPoint(t[i], c[i]),
                new ChartPoint(t[i + s], c[i + s]),
                new ChartPoint(t[i + 2 * s], c[i + 2 * s]),
                new ChartPoint(t[i + 3 * s], c[i + 3 * s]),
                new ChartPoint(t[i + 4 * s], c[i + 4 * s]),
                new ChartPoint(t[i + 5 * s], c[i + 5 * s]),
                Color.Purple);
        }

        public override void Calculate(int index)
        {
        }
    }
}
```

Python:

```python
import clr
clr.AddReference("cAlgo.API")

from cAlgo.API import *

class Test():
    def initialize(self):
        i = api.Chart.FirstVisibleBarIndex
        s = (api.Chart.LastVisibleBarIndex - i) // 6
        t = api.Bars.OpenTimes
        c = api.Bars.ClosePrices
        tripleCombo = api.Chart.DrawElliottTripleCombo("TripleCombo",
            ChartPoint(t[i], c[i]), ChartPoint(t[i + s], c[i + s]), ChartPoint(t[i + 2 * s], c[i + 2 * s]),
            ChartPoint(t[i + 3 * s], c[i + 3 * s]), ChartPoint(t[i + 4 * s], c[i + 4 * s]), ChartPoint(t[i + 5 * s], c[i + 5 * s]),
            Color.Purple)
        tripleCombo.IsInteractive = True
```

config.json:

```json
{
  "AccessRights": "None",
  "TimeZone": "UTC",
  "IsOverlay": true
}
```

## Properties

- `ChartPoint Origin {get; set;}` — Gets or sets the origin (wave 0) anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/Origin/index.md)
- `ChartPoint WaveW {get; set;}` — Gets or sets the wave W anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/WaveW/index.md)
- `ChartPoint WaveX1 {get; set;}` — Gets or sets the first wave X (X1) anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/WaveX1/index.md)
- `ChartPoint WaveX2 {get; set;}` — Gets or sets the second wave X (X2) anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/WaveX2/index.md)
- `ChartPoint WaveY {get; set;}` — Gets or sets the wave Y anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/WaveY/index.md)
- `ChartPoint WaveZ {get; set;}` — Gets or sets the wave Z anchor point. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/WaveZ/index.md)

## Inherited members

- `ChartElliottWaveDegree Degree {get; set;}` (from ChartElliottWaveBase) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/Degree/index.md)
- `bool ShowLabels {get; set;}` (from ChartElliottWaveBase) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/ShowLabels/index.md)
- `int Thickness {get; set;}` (from ChartElliottWaveBase) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/Thickness/index.md)
- `Color Color {get; set;}` (from ChartElliottWaveBase) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/Color/index.md)
- `LineStyle LineStyle {get; set;}` (from ChartElliottWaveBase) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/LineStyle/index.md)
- `string Name {get;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/Name/index.md)
- `string Comment {get; set;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/Comment/index.md)
- `ChartObjectType ObjectType {get;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/ObjectType/index.md)
- `bool IsInteractive {get; set;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/IsInteractive/index.md)
- `bool IsLocked {get; set;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/IsLocked/index.md)
- `bool IsHidden {get; set;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/IsHidden/index.md)
- `int ZIndex {get; set;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/ZIndex/index.md)
- `bool IsAlive {get;}` (from ChartObject) [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/IsAlive/index.md)

