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

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

# ChartArrow (interface)

Represents the arrow chart object.

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 ChartArrow
```

## Examples

C#:

```csharp
using cAlgo.API;

namespace cAlgo;

public partial class Test : Indicator
{
    protected override void Initialize()
    {
        var chartArrow = Chart.DrawArrow("Test Arrow", Chart.LastVisibleBarIndex, Bars.LowPrices[Chart.LastVisibleBarIndex], Chart.LastVisibleBarIndex, Bars.HighPrices[Chart.LastVisibleBarIndex], Color.Red, 2, LineStyle.Dots);
        chartArrow.IsInteractive = true;
    }

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

Python:

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

from cAlgo.API import *

class Test():
    def initialize(self):
        chartArrow = api.Chart.DrawArrow("Test Arrow", api.Chart.LastVisibleBarIndex, api.Bars.LowPrices[api.Chart.LastVisibleBarIndex], api.Chart.LastVisibleBarIndex, api.Bars.HighPrices[api.Chart.LastVisibleBarIndex], Color.Red, 2, LineStyle.Dots)
        chartArrow.IsInteractive = True
```

config.json:

```json
{
  "AccessRights": "None"
}
```

## Methods

- `double CalculateY(int barIndex)` — Calculates Y-axis value corresponding the specified bar index. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/CalculateY/index.md)
- `double CalculateY(DateTime time)` — Calculates Y-axis value corresponding the specified time value. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/CalculateY/index.md)

## Properties

- `Color Color {get; set;}` — Gets or sets the color of the Trend Line. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Color/index.md)
- `bool ExtendToInfinity {get; set;}` — Defines if the Arrow extends to infinity. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/ExtendToInfinity/index.md)
- `LineStyle LineStyle {get; set;}` — Gets or sets the Arrow style. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/LineStyle/index.md)
- `bool ShowAngle {get; set;}` — Defines the arrow angle. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/ShowAngle/index.md)
- `int Thickness {get; set;}` — Gets or sets the thickness of the Arrow. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Thickness/index.md)
- `DateTime Time1 {get; set;}` — Gets or sets the value 1 on the Time line. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Time1/index.md)
- `DateTime Time2 {get; set;}` — Gets or sets the value 2 on the Time line. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Time2/index.md)
- `double Y1 {get; set;}` — Gets or sets the value 1 on the Y-axis. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Y1/index.md)
- `double Y2 {get; set;}` — Gets or sets the value 2 on the Y-axis. [details](https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/Y2/index.md)

## Inherited members

- `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)

