History
Summary
Provides access to methods of the historical trades collection
Signature
| public abstract interface History
|
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 | using cAlgo.API;
using System.Linq;
namespace cAlgo
{
// A sample indicator that shows how to get historical trades and use the account history data
[Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class HistorySample : Indicator
{
private Style _textBlocksStyle;
private StackPanel _stackPanel;
private Grid _tradesGrid;
protected override void Initialize()
{
_stackPanel = new StackPanel
{
Orientation = Orientation.Vertical,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
BackgroundColor = Color.Gold
};
_textBlocksStyle = new Style();
_textBlocksStyle.Set(ControlProperty.Margin, 5);
_stackPanel.AddChild(new TextBox
{
Text = "Your Last 10 Trades",
FontWeight = FontWeight.ExtraBold,
HorizontalAlignment = HorizontalAlignment.Center,
Style = _textBlocksStyle
});
Chart.AddControl(_stackPanel);
UpdateLastTradeTextBlock();
Positions.Closed += args => UpdateLastTradeTextBlock();
}
public override void Calculate(int index)
{
}
private void UpdateLastTradeTextBlock()
{
if (_tradesGrid != null)
_stackPanel.RemoveChild(_tradesGrid);
_tradesGrid = new Grid(11, 6);
_tradesGrid.AddChild(new TextBlock
{
Text = "Symbol",
Style = _textBlocksStyle
}, 0, 0);
_tradesGrid.AddChild(new TextBlock
{
Text = "Direction",
Style = _textBlocksStyle
}, 0, 1);
_tradesGrid.AddChild(new TextBlock
{
Text = "Volume",
Style = _textBlocksStyle
}, 0, 2);
_tradesGrid.AddChild(new TextBlock
{
Text = "Open Time",
Style = _textBlocksStyle
}, 0, 3);
_tradesGrid.AddChild(new TextBlock
{
Text = "Close Time",
Style = _textBlocksStyle
}, 0, 4);
_tradesGrid.AddChild(new TextBlock
{
Text = "Net Profit",
Style = _textBlocksStyle
}, 0, 5);
var lastTenTrades = History.OrderByDescending(iTrade => iTrade.ClosingTime).Take(10).ToArray();
for (int iRowIndex = 1; iRowIndex <= lastTenTrades.Length; iRowIndex++)
{
var trade = lastTenTrades[iRowIndex - 1];
_tradesGrid.AddChild(new TextBlock
{
Text = trade.SymbolName,
Style = _textBlocksStyle
}, iRowIndex, 0);
_tradesGrid.AddChild(new TextBlock
{
Text = trade.TradeType.ToString(),
Style = _textBlocksStyle
}, iRowIndex, 1);
_tradesGrid.AddChild(new TextBlock
{
Text = trade.VolumeInUnits.ToString(),
Style = _textBlocksStyle
}, iRowIndex, 2);
_tradesGrid.AddChild(new TextBlock
{
Text = trade.EntryTime.ToString("g"),
Style = _textBlocksStyle
}, iRowIndex, 3);
_tradesGrid.AddChild(new TextBlock
{
Text = trade.ClosingTime.ToString("g"),
Style = _textBlocksStyle
}, iRowIndex, 4);
_tradesGrid.AddChild(new TextBlock
{
Text = trade.NetProfit.ToString(),
Style = _textBlocksStyle
}, iRowIndex, 5);
}
_stackPanel.AddChild(_tradesGrid);
}
}
}
|
Methods
FindLast (3)
FindLast (1 of 3)
Summary
Find last historical trade by its label
Signature
| public abstract HistoricalTrade FindLast(string label)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
Return Value
HistoricalTrade
FindLast (2 of 3)
Summary
Find last historical trade by its label, symbol name
Signature
| public abstract HistoricalTrade FindLast(string label, string symbolName)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
symbolName | string | Symbol name to search by |
Return Value
HistoricalTrade
FindLast (3 of 3)
Summary
Find last historical trade by its label, symbol name and trade type
Signature
| public abstract HistoricalTrade FindLast(string label, string symbolName, TradeType tradeType)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
symbolName | string | Symbol name to search by |
tradeType | TradeType | Trade type to search by |
Return Value
HistoricalTrade
FindAll (3)
FindAll (1 of 3)
Summary
Find all historical trades by the label
Signature
| public abstract HistoricalTrade[] FindAll(string label)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
Return Value
HistoricalTrade[]
FindAll (2 of 3)
Summary
Find all historical trades by label, symbol name
Signature
| public abstract HistoricalTrade[] FindAll(string label, string symbolName)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
symbolName | string | Symbol name to search by |
Return Value
HistoricalTrade[]
FindAll (3 of 3)
Summary
Find all historical trades by label, symbol name and trade type
Signature
| public abstract HistoricalTrade[] FindAll(string label, string symbolName, TradeType tradeType)
|
Parameters
Name | Type | Description |
label | string | Label to search by |
symbolName | string | Symbol name to search by |
tradeType | TradeType | Trade type to search by |
Return Value
HistoricalTrade[]
FindByPositionId
Summary
Find all historical trades related to a position.
Signature
| public abstract HistoricalTrade[] FindByPositionId(int positionId)
|
Parameters
Name | Type | Description |
positionId | int | Position ID |
Return Value
HistoricalTrade[]
FindByClosingDealId
Summary
Find HistoricalTrade by closing deal Id.
Signature
| public abstract HistoricalTrade FindByClosingDealId(int closingDealId)
|
Parameters
Name | Type | Description |
closingDealId | int | HistoricalTrade closing deal Id |
Return Value
HistoricalTrade
Properties
Item
Signature
| public abstract HistoricalTrade Item {get;}
|
Return Value
HistoricalTrade
Count
Summary
Total number of historical trades
Signature
| public abstract int Count {get;}
|
Return Value
int