QuoteCondition (FIX tag 276)

MultipleValueStringFIX 4.4FIX 4.2FIX 5.0 SP2

QuoteCondition (tag 276) is a MultipleValueString field defined in FIX 4.4, FIX 4.2 and FIX 5.0 SP2. It appears in 2 message types, always optionally. It is an enumerated field with 9 defined values.

At a glance

Tag
276
Name
QuoteCondition
Datatype
MultipleValueString (String)
Dialects
FIX 4.4, FIX 4.2 and FIX 5.0 SP2
Messages
2
Valid values
9

What the specification says

FIX 4.4

Space-delimited list of conditions describing a quote

FIX 4.2

Space-delimited list of conditions describing a quote.

FIX 5.0 SP2

Space-delimited list of conditions describing a quote.

Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.

A real message using tag 276

MarketDataSnapshotFullRefresh · FIX 4.4
TagFieldWire valueMeaning
8BeginStringFIX.4.4
9BodyLength93
35MsgTypeWMarket Data-Snapshot/Full Refresh
49SenderCompIDBOARTEAM
56TargetCompIDCOUNTERPARTY
34MsgSeqNum2
52SendingTime20240101-12:00:00.000
268NoMDEntries2 entries2repeating group
269MDEntryType0Bid
276QuoteConditionAOpen / Active
269MDEntryType0Bid
276QuoteConditionAOpen / Active
10CheckSum066
Edit and decode it yourself

Shown with | separators for readability. On the wire FIX uses SOH (0x01), an invisible control byte — and because BodyLength and CheckSum are computed over the actual bytes, the two forms have different checksums. Both are valid and both decode here.

Open in the full decoder →

Generated from the FIX 4.4 dictionary and verified at build time: it parses and validates with no issues. Open the decoder to try your own message.

Valid values

A value outside this list is not a parse error — the message still decodes — but validate() reports it as validate/value-not-in-enum.

ValueMeaningSymbolic nameDialects
AOpen / ActiveOPEN / Open / OPEN_ACTIVEFIX 4.4, FIX 4.2, FIX 5.0 SP2
BClosed / InactiveCLOSED / Closed / CLOSED_INACTIVEFIX 4.4, FIX 4.2, FIX 5.0 SP2
CExchange BestEXCHANGE_BEST / ExchangeBestFIX 4.4, FIX 4.2, FIX 5.0 SP2
DConsolidated BestCONSOLIDATED_BEST / ConsolidatedBestFIX 4.4, FIX 4.2, FIX 5.0 SP2
ELockedLOCKED / LockedFIX 4.4, FIX 4.2, FIX 5.0 SP2
FCrossedCROSSED / CrossedFIX 4.4, FIX 4.2, FIX 5.0 SP2
GDepthDEPTH / DepthFIX 4.4, FIX 4.2, FIX 5.0 SP2
HFast TradingFAST_TRADING / FastTradingFIX 4.4, FIX 4.2, FIX 5.0 SP2
INon-FirmNON_FIRM / NonFirmFIX 4.4, FIX 4.2, FIX 5.0 SP2
LManual/Slow QuoteMANUAL_SLOW_QUOTEFIX 5.0 SP2
JOutright PriceOUTRIGHT_PRICEFIX 5.0 SP2
KImplied PriceIMPLIED_PRICEFIX 5.0 SP2
MDepth on OfferDEPTH_ON_OFFERFIX 5.0 SP2
NDepth on BidDEPTH_ON_BIDFIX 5.0 SP2
OClosingCLOSINGFIX 5.0 SP2
PNews DisseminationNEWS_DISSEMINATIONFIX 5.0 SP2
QTrading RangeTRADING_RANGEFIX 5.0 SP2
ROrder InfluxORDER_INFLUXFIX 5.0 SP2
SDue to RelatedDUE_TO_RELATEDFIX 5.0 SP2
TNews PendingNEWS_PENDINGFIX 5.0 SP2
UAdditional InfoADDITIONAL_INFOFIX 5.0 SP2
VAdditional Info due to relatedADDITIONAL_INFO_DUE_TO_RELATEDFIX 5.0 SP2
WResumeRESUMEFIX 5.0 SP2
XView of CommonVIEW_OF_COMMONFIX 5.0 SP2
YVolume AlertVOLUME_ALERTFIX 5.0 SP2
ZOrder ImbalanceORDER_IMBALANCEFIX 5.0 SP2
aEquipment ChangeoverEQUIPMENT_CHANGEOVERFIX 5.0 SP2
bNo Open / No ResumeNO_OPEN_NO_RESUMEFIX 5.0 SP2
cRegular ETHREGULAR_ETHFIX 5.0 SP2
dAutomatic ExecutionAUTOMATIC_EXECUTIONFIX 5.0 SP2
eAutomatic Execution ETHAUTOMATIC_EXECUTION_ETHFIX 5.0 SP2
fFast Market ETHFAST_MARKET_ETHFIX 5.0 SP2
gInactive ETHINACTIVE_ETHFIX 5.0 SP2
hRotationROTATIONFIX 5.0 SP2
iRotation ETHROTATION_ETHFIX 5.0 SP2
jHaltHALTFIX 5.0 SP2
kHalt ETHHALT_ETHFIX 5.0 SP2
lDue to News DisseminationDUE_TO_NEWS_DISSEMINATIONFIX 5.0 SP2
mDue to News PendingDUE_TO_NEWS_PENDINGFIX 5.0 SP2
nTrading ResumeTRADING_RESUMEFIX 5.0 SP2
oOut of SequenceOUT_OF_SEQUENCEFIX 5.0 SP2
pBid SpecialistBID_SPECIALISTFIX 5.0 SP2
qOffer SpecialistOFFER_SPECIALISTFIX 5.0 SP2
rBid Offer SpecialistBID_OFFER_SPECIALISTFIX 5.0 SP2
sEnd of Day SAMEND_OF_DAY_SAMFIX 5.0 SP2
tForbidden SAMFORBIDDEN_SAMFIX 5.0 SP2
uFrozen SAMFROZEN_SAMFIX 5.0 SP2
vPreOpening SAMPREOPENING_SAMFIX 5.0 SP2
wOpening SAMOPENING_SAMFIX 5.0 SP2
xOpen SAMOPEN_SAMFIX 5.0 SP2
ySurveillance SAMSURVEILLANCE_SAMFIX 5.0 SP2
zSuspended SAMSUSPENDED_SAMFIX 5.0 SP2
0Reserved SAMRESERVED_SAMFIX 5.0 SP2
1No Active SAMNO_ACTIVE_SAMFIX 5.0 SP2
2RestrictedRESTRICTEDFIX 5.0 SP2
3Rest of Book VWAPREST_OF_BOOK_VWAPFIX 5.0 SP2
4Better Prices in Conditional OrdersBETTER_PRICES_IN_CONDITIONAL_ORDERSFIX 5.0 SP2
5Median PriceMEDIAN_PRICEFIX 5.0 SP2
6Full CurveFULL_CURVEFIX 5.0 SP2
7Flat CurveFLAT_CURVEFIX 5.0 SP2

Where tag 276 appears

Requiredness is a property of the message, not of the field: the same tag can be optional in one message and conditionally required in another.

MessageMsgTypeFIX 4.4FIX 4.2FIX 5.0 SP2Where in the message
MarketDataIncrementalRefreshXOptionalOptionalOptionalinside the MDIncGrp component
MarketDataSnapshotFullRefreshWOptionalOptionalOptionalinside the MDFullGrp component

Wire format

Several values in one field, separated by spaces. Decoders return an array. @boarteam/fix splits the value on its delimiter and returns an array of strings.

Read tag 276 in TypeScript

decode.tsts
import { createFixEngine } from "@boarteam/fix";import { dictionary } from "@boarteam/fix-dict-fix44";const fix = createFixEngine(dictionary);const { message, issues } = fix.parse(raw);const quoteCondition = message.fields[276]?.raw;// e.g. "A" — Open / Active// The dictionary also carries the labels:const label = fix.dictionary  .fieldByTag(276)  ?.enumValues?.find((e) => e.value === quoteCondition)  ?.description;

Other MultipleValueString fields

Decode this in your own code

The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.

npm i @boarteam/fix @boarteam/fix-dict-fix44