Helpdesk
  • Overview
    • Welcome to Finery Markets
    • About Our Products
      • FM Liquidity Match
        • Master Account
        • Sub-Account
      • FM Pulse
      • White Label solution
  • Product Features
    • Onboarding
    • Risk Management
    • Trading
      • Aggregated Order Book
      • Firm Order Book
      • Pending Limit Orders (GTC)
      • RFQ
      • Toxic Flow Protection
      • Markups
      • Authorized trading
      • Non-Deliverable Trading
      • Voice Trading
      • Interdealer Trading
    • Position Management
    • Settlements
      • Automated Settlements
      • Addresses
    • Control Center
      • Multi-Roles
      • Notifications
      • Reporting
      • Bulk Edit
    • Referral program
  • API Reference
    • Quick Start with API
      • For Market Makers
      • For Takers
    • Data Types
    • REST API
      • Client management
        • getSubaccounts
      • RFQ
        • getSettings
        • getSettings (authorized)
        • getUserSettings (authorized)
        • setUserSettings (authorized)
        • getProviders
        • getSessions
      • Trading
        • add
        • add (authorized)
        • Pending limit orders
          • add (pending limit order)
          • add (pending limit order) (authorized)
          • del
          • del (authorized)
          • delAll
          • delAll (authorized)
          • orders
          • orders (authorized)
        • mod
        • del
        • delAll
        • book
        • voiceTrade
        • liquidationTrade
        • dealHistory
        • dealHistory (authorized)
        • instruments
        • positions
        • instrumentMarkups
        • addInstrumentMarkups
        • delInstrumentMarkups
      • Settlements
        • settlementRequests
        • settlementOrders
        • settlementTransactions
        • settlementHistory
        • settlementTransactionHistory
        • addIncomingSettlementRequest
        • delIncomingSettlementRequest
        • delIncomingSettlementCPRequest
        • addOutgoingSettlementTransaction
        • addIncomingSettlementTransaction
        • sendSettlementTransaction
        • commitIncomingSettlementTransaction
        • delSettlementTransaction
      • Risk Management
        • climits
        • setCLimit
        • delCLimit
        • subaccountsLimits
        • setSubaccountLimit
        • delSubaccountLimit
        • enableTrading
        • disableTrading
        • cAssetLimits
        • setCAssetLimit
        • delCAssetLimit
        • cShortSalesBan
        • setShortSalesBan
        • delShortSalesBan
        • enableInstrumentsWhitelist
        • setInstrumentsWhitelist
        • disableInstrumentsWhitelist
        • instrumentsWhitelist
      • Non-deliverable Trading
        • settings/getOvernightRates
        • settings/setOvernightRates
    • Websocket API
      • Feed 'A' - Assets
      • Feed 'P' - Positions
      • Feed 'L' - Counterparty limits
      • Feed 'B' - Global order books
      • Feed 'F' - Tradable order books
      • Feed 'R' - Settlement requests
      • Feed 'N' - Settlement transactions
      • Feed 'K' - Positions
      • Feed 'O' - Orders
      • Feed 'S' - Settlement orders
      • RFQ
    • FIX API
      • Admin messages
      • Market Data
      • Trade
        • Trading for Takers
        • Trading for LPs and Masters
    • Troubleshooting Errors
      • List of Error Codes
      • Error 3
      • Error 6
      • Error 7
      • Error 14
Powered by GitBook
On this page
  1. API Reference
  2. Websocket API

Feed 'L' - Counterparty limits

Counterparty limits feed

PreviousFeed 'P' - PositionsNextFeed 'B' - Global order books

Last updated 2 years ago

Requests

{"event": "bind", "feed": "L"}
{"event": "unbind", "feed": "L"}

Feed handling

limit = [
  0: counterpartyId (Efx::ClientId)
  1: currencyName (string)
  2: grossLimit (Efx::Size)
  3: mutualLimitCurrencyName (string | null)
  4: mutualGrossLimit (Efx::Size | null)
  5: grossLimitUtilization (Efx::Size)
  6: maintenanceMargin (unsigned int32)
  7: restrictedTrading (unsigned int32)
  8: initialMargin (unsigned int32)
  9: equity (Efx::Size)
  10: takerMarkup (int32)
  11: tradingDisabledFlags (int32) // flags & 1 = disabled by client,
                                   // flags & 2 = disabled by counterparty
]

For detailed counterparty limit description

// snapshot
['L', 0, 'S', array of limit]

// limit added
['L', 0, '+', limit]

// limit modified
['L', 0, 'M', limit]

// limit removed
['L', 0, '-', limit]

// failed to subscribe
['L', 0, 'Z', 2]

// unsubscribed
['L', 0, 'U', 0]
applyToSnapshot(prevSnapshot, feed, action, data) {
    switch (feed) {
        case 'L': {
            switch (action) {
                case 'S': {
                    return [...data]
                }
                case '+': {
                    prevSnapshot.push(data)
                    break
                }
                case 'M': {
                    for (var i in prevSnapshot) {
                        // Update limit for counterparty
                        if (prevSnapshot[i][6] == data[6]) {
                            prevSnapshot[i] = data
                            break
                        }
                    }
                    break
                }
                case '-': {
                    for (var i in prevSnapshot) {
                        // Delete limit for counterparty
                        if (prevSnapshot[i][6] == data[6]) {
                            prevSnapshot.splice(i, 1)
                            break
                        }
                    }
                    break
                }
            }
            break
        }
    }
    return prevSnapshot
}
climits