Bars
Summary
Represents the Bars interface - the collection of Bar objects.
Signature
| public abstract interface Bars
|
Namespace
cAlgo.API
Examples
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 | using cAlgo.API;
using System;
namespace cAlgo
{
// A sample indicator that shows how to use Bars
[Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class BarsSample : Indicator
{
private TextBlock _barTicksNumberTextBlock, _barsStateTextBlock;
[Output("Range", LineColor = "RoyalBlue")]
public IndicatorDataSeries Range { get; set; }
[Output("Body", LineColor = "Yellow")]
public IndicatorDataSeries Body { get; set; }
protected override void Initialize()
{
// Bars events
Bars.BarOpened += Bars_BarOpened;
Bars.Tick += Bars_Tick;
Bars.HistoryLoaded += Bars_HistoryLoaded;
Bars.Reloaded += Bars_Reloaded;
var grid = new Grid(2, 2)
{
BackgroundColor = Color.DarkGoldenrod,
HorizontalAlignment = HorizontalAlignment.Right,
VerticalAlignment = VerticalAlignment.Top,
Opacity = 0.5
};
grid.AddChild(new TextBlock
{
Text = "Bar Ticks #",
Margin = 5
}, 0, 0);
_barTicksNumberTextBlock = new TextBlock
{
Text = "0",
Margin = 5
};
grid.AddChild(_barTicksNumberTextBlock, 0, 1);
grid.AddChild(new TextBlock
{
Text = "Bars State",
Margin = 5
}, 1, 0);
_barsStateTextBlock = new TextBlock
{
Margin = 5
};
grid.AddChild(_barsStateTextBlock, 1, 1);
IndicatorArea.AddControl(grid);
}
private void Bars_Reloaded(BarsHistoryLoadedEventArgs obj)
{
_barsStateTextBlock.Text = "Reloaded";
}
private void Bars_HistoryLoaded(BarsHistoryLoadedEventArgs obj)
{
_barsStateTextBlock.Text = "History Loaded";
}
private void Bars_Tick(BarsTickEventArgs obj)
{
_barTicksNumberTextBlock.Text = Bars.TickVolumes.LastValue.ToString();
}
private void Bars_BarOpened(BarOpenedEventArgs obj)
{
_barsStateTextBlock.Text = "New Bar Opened";
}
public override void Calculate(int index)
{
Range[index] = Bars.HighPrices[index] - Bars.LowPrices[index];
Body[index] = Math.Abs(Bars.ClosePrices[index] - Bars.OpenPrices[index]);
}
}
}
|
Methods
Last
Summary
Gets the last bar in the chart.
Signature
| public abstract Bar Last(int index)
|
Parameters
Name | Type | Description |
index | int | |
Return Value
Bar
LoadMoreHistory
Summary
Loads more historical bars. Method returns the number of loaded bars that were added to the beginning of the collection.
Signature
| public abstract int LoadMoreHistory()
|
Return Value
int
LoadMoreHistoryAsync (2)
LoadMoreHistoryAsync (1 of 2)
Summary
Loads more historical bars asynchronously.
Signature
| public abstract void LoadMoreHistoryAsync()
|
Return Value
void
LoadMoreHistoryAsync (2 of 2)
Summary
Loads more historical bars asynchronously.
Signature
| public abstract void LoadMoreHistoryAsync(Action<BarsHistoryLoadedEventArgs> callback)
|
Parameters
Name | Type | Description |
callback | Action | The callback that will be called after history loaded |
Return Value
void
Properties
Item
Signature
| public abstract Bar Item {get;}
|
Return Value
Bar
LastBar
Summary
Gets the last bar in the chart.
Signature
| public abstract Bar LastBar {get;}
|
Return Value
Bar
Count
Summary
Gets the number of bars.
Signature
| public abstract int Count {get;}
|
Return Value
int
TimeFrame
Summary
Get the timeframe.
Signature
| public abstract TimeFrame TimeFrame {get;}
|
Return Value
TimeFrame
SymbolName
Summary
Gets the symbol name.
Signature
| public abstract string SymbolName {get;}
|
Return Value
string
OpenPrices
Summary
Gets the Open price bars data.
Signature
| public abstract DataSeries OpenPrices {get;}
|
Return Value
DataSeries
HighPrices
Summary
Gets the High price bars data.
Signature
| public abstract DataSeries HighPrices {get;}
|
Return Value
DataSeries
LowPrices
Summary
Gets the Low price bars data.
Signature
| public abstract DataSeries LowPrices {get;}
|
Return Value
DataSeries
ClosePrices
Summary
Gets the Close price bars data.
Signature
| public abstract DataSeries ClosePrices {get;}
|
Return Value
DataSeries
TickVolumes
Summary
Gets the Tick volumes data.
Signature
| public abstract DataSeries TickVolumes {get;}
|
Return Value
DataSeries
Summary
Gets the Median prices data (High + Low) / 2.
Signature
| public abstract DataSeries MedianPrices {get;}
|
Return Value
DataSeries
TypicalPrices
Summary
Gets the Typical prices data (High + Low + Close) / 2.
Signature
| public abstract DataSeries TypicalPrices {get;}
|
Return Value
DataSeries
WeightedPrices
Summary
Gets the Weighted prices data (High + Low + 2 * Close) / 4.
Signature
| public abstract DataSeries WeightedPrices {get;}
|
Return Value
DataSeries
OpenTimes
Summary
Gets the open bar time data.
Signature
| public abstract TimeSeries OpenTimes {get;}
|
Return Value
TimeSeries
Events
HistoryLoaded
Summary
Occurs when more history is loaded due to chart scroll on the left or due to API call.
Signature
| public abstract event Action<BarsHistoryLoadedEventArgs> HistoryLoaded;
|
Reloaded
Summary
Occurs when bars are refreshed due to reconnect.
Signature
| public abstract event Action<BarsHistoryLoadedEventArgs> Reloaded;
|
Tick
Summary
Occurs when a new Tick arrives.
Signature
| public abstract event Action<BarsTickEventArgs> Tick;
|
BarOpened
Summary
Occurs when the last bar is closed and a new bar is opened.
Signature
| public abstract event Action<BarOpenedEventArgs> BarOpened;
|
BarClosed
Summary
Occurs when a new bar is opened; the event is called for the previous (closed) bar.
Signature
| public abstract event Action<BarClosedEventArgs> BarClosed;
|
Last update: November 30, 2023