FIX Trading API

Market Data Request (35=V)

Market data request currently supports FX spot and one currency pair per request. The MarketDataRequest (35=V) message is used to request a static book snapshot or subscribe to a stream of snapshots and updates. 

TagField NameRequiredDescription
Standard Header, MsgType 35=V

262

MDReqID

Y

Unique identifier for Market Data Request message. Must be a positive integer.

263

SubscriptionRequestType

Y

0 = Snapshot.
1 = Snapshot + Updates (Subscribe)
2 = Disable previous Snapshot (Unsubscribe).

264

MarketDepth

Y

The value to use will be given by Saxobank and is dependent on current agreement.
0 = Full Book Depth
1 = Top of Book
2 = Two Price Levels
3 = Three Price Levels
Etc.

265

MDUpdateType

C

Required if SubscriptionRequestType = 1 (Snapshot + Updates)
0 = Full Refresh
1= Incremental update

267

NoMDEntryTypes

Y

Number of MDEntryType (269) fields requested. Must be 2. One Bid and one Offer.

=>269

MDEntryTypes

Y

0 = Bid
1 = Offer

146

NoRelatedSym

Y

Always 1. Saxo FIX API only accepts one currency pair per request.

=>55

Symbol

C

Currency pair in CCY1/CCY2 format, for example 'USD/JPY', mandatory for 167=FOR, 167=INDEX and 167=FUT for CFD on Futures

=>167

SecurityType

Y

'FOR' for Foreign Exchange (FX)

'INDEX' for CFD Indices

'FUT' for CFD on Futures

Other products are not supported currently.

Standard Trailer

MarketDataRequestReject (35=Y)

Market data request reject is used when Saxo FIX API cannot honor the MarketDataRequest (35=V) message due to business or technical reasons. It is sent by Saxo FIX API to FIX Client.

TagField NameRequiredDescription
Standard Header, MsgType 35=Y

262

MDReqID

Y

Unique identifier from Market Data Request message

281

MDReqRejReason

N

0 = Unknown symbol
1 = Duplicate MDReqID (262)
2 = Insufficient Bandwidth
3 = Insufficient Permissions
4 = Unsupported SubscriptionRequestType (263)
5 = Unsupported MarketDepth (264)
6 = Unsupported MDUpdateType (265)

58

Text

N


Standard Trailer


Market Data Snapshot Full Fresh (35=W)

Market data snapshot FullRefresh message is used as response to a MarketDataRequest (35=V) message where tag 265=0 and provide a market data snapshot. It is sent by Saxo FIX API to FIX Client.

TagField NameRequiredDescription
Standard Header, MsgType 35=W

262

MDReqID

Y

Unique identifier for Market Data Request message

55

Symbol

C

Currency pair in CCY1/CCY2 format, for example 'USD/JPY', mandatory for 167=FOR,INDEX and FUT 

167

SecurityType

Y

'FOR' for Foreign Exchange (FX)

'INDEX' for CFD Indices

'FUT' for CFD on Futures

268

NoMDEntries

Y

Number of entire in Market Data message

=>269

MDEntryTypes

Y

0 = Bid
1 = Offer

=>270

MDEntryPx

Y

Price of the Market Data entry

=>271

MDEntrySize

Y

Quantity of the Market Data entry

=>276

QuoteCondition

Y

Conditions describing a quote
'A’ Open / Tradable
‘I’ NonFirm / Indicative

=>278

MDEntryID

Y

Unique Market Data Entry Identifier

Standard Trailer

Market Data Incremental Update (35=X)

MarketDataIncrementalRefresh (35=X) messages are used as response to a MarketDataRequest (35=V) message where tag 265=1. Full snapshot 35=W will be sent first and followed with incremental update 35=X

Tag No.

Tag Name

Required

Description

262

MDReqID

Y

Unique identifier for Market Data Request message

268

NoMDEntries

Y

Number of entire in Market Data message

=>279

MDUpdateAction

Y

‘0’ New
‘1’ Change
‘2’ Delete

=>278

MDEntryID

Y

Identifier for the market data entry if New or ID of existing entry being Modified or Deleted

=>269

MDEntryTypes

C

‘0’ Bid
‘1’ Offer

=>270

MDEntryPx

C

Price of the Market Data entry

=>271

MDEntrySize

C

Quantity of the Market Data entry

Always be 0 for CFD on Futures

=>276

QuoteCondition

Y

Conditions describing a quote
‘A’ Open / Tradable
‘I’ NonFirm / Indicative