Working with orders and trades
Orders and Trades in StraTrader are organized in collections. In your Ticker Strategy
or Project Strategy you can access all items of these collections. In Ticker Strategy
you can do it with "Ticker.Trades" and "Ticker.Orders", in Project Strategy you can do
it with "Project.Orders" and "Project.Trades".
The following example demonstrates how you can enumerate all Orders and Trades in
Ticker Strategy:
|
000: foreach (IOrder order in Ticker.Orders)
|
|
001: {
|
|
002: ... do something with "order" object
|
|
003: }
|
|
004:
|
|
005: foreach (ITrade trade in Ticker.Trades)
|
|
006: {
|
|
007: ... do something with "trade" object
|
|
008: }
|
This is the way you can do it in Project Strategy:
|
000: foreach (IOrder order in Project.Orders)
|
|
001: {
|
|
002: ... do something with "order" object
|
|
003: }
|
|
004:
|
|
005: foreach (ITrade trade in Project.Trades)
|
|
006: {
|
|
007: ... do something with "trade" object
|
|
008: }
|
You can access last order and last trade in Ticker Strategy:
|
000: IOrder lastOrder = Ticker.Orders.Last;
|
|
001: if (lastOrder != null && lastOrder.IsActive)
|
|
002: {
|
|
003: ... do something with "lastOrder" object
|
|
004: }
|
|
005:
|
|
006: ITrade lastTrade = Ticker.Trades.Last;
|
|
007: if (lastTrade != null)
|
|
008: {
|
|
009: ... do something with "lastTrade" object
|
|
010: }
|
You can access last order and last trade of each Ticker in Project Strategy:
|
000: foreach (ITicker ticker in Project.Tickers)
|
|
001: {
|
|
002: IOrder lastOrder = ticker.Orders.Last;
|
|
003: if (lastOrder != null && lastOrder.IsActive)
|
|
004: {
|
|
005: ... do something with "lastOrder" object
|
|
006: }
|
|
007: }
|
|
008:
|
|
009: foreach (ITicker ticker in Project.Tickers)
|
|
010: {
|
|
011: ITrade lastTrade = ticker.Trades.Last;
|
|
012: if (lastTrade != null)
|
|
013: {
|
|
014: ... do something with "lastTrade" object
|
|
015: }
|
|
016: }
|
|