public method O2GTradesTable.getNextRowByMultiColumnValues

Brief

Gets the next row from O2GTradesTable based on the multiple columns values.

Declaration
C#
bool  getNextRowByMultiColumnValues (string[] columnNames, object[] columnValues, O2GTableIterator iterator, out O2GTradeTableRow row)

Parameters
columnNames

The array of column names in the Trades table. For example, BuySell, TradeID.

columnValues

The array of values of the columns specified by the columnNames parameter. For example, if you want to search the Trades table for positions by AccountID 12345 and EUR/USD instrument only, the columnNames parameter value is an array of AccountID and OfferID, and the columnValues parameter is an array of 12345 and 1.

iterator

The table iterator.

row

[out] The row fetched.

Details

This method allows finding all rows that contain all specified columns values.
If the row is not found, the method returns false.
Note: The returned row contains the current columns values. The values are not automatically updated. To monitor changes, use IO2GTableListener.onChanged. The row interface is thread-safe. The returned row can be used in different threads without synchronization.

Example

Get open positions by specified AccountID and OfferID from the Trades table [hide]

    public void EnumerateTradesByAccountIDAndOfferID(string sAccountID, string sOfferID)
    {
        O2GTradesTable trades = (O2GTradesTable)mTblMgr.getTable(O2GTableType.Trades);
        O2GTableIterator iterator = new O2GTableIterator();
        O2GTradeTableRow trade = null;
        string[] columnNames = new string[] { "AccountID", "OfferID" };
        object[] columnValues = new object[] { sAccountID, sOfferID };
        while (trades.getNextRowByMultiColumnValues(columnNames, columnValues, iterator, out trade))
        {
            Console.WriteLine("TradeID={0}, OfferID={1}, Amount={2}", trade.TradeID, trade.OfferID, trade.Amount);
        }
    }

Declared in O2GTradesTable

back