SessionSet

Change trading session of product(s).

Examples of trading session are Auction, Continuous and Closed.

The session can be changed directly on the InstrumentMarket, but also higher in the product hierarchy such as at the Market level.

Changing the session at Market level (for example) will apply to all InstrumentMarkets within the Market which have Market-level inheritance enabled.

This message is a specific use-case of the SessionParam message. i.e. where SessionParam.Parameter is hard-coded to Session.

Metadata

  • Message Type: TransactionMessage
  • Message Number: 1014

Inherited fields

NameTypeSize (bytes)Description
MessageTypeInteger (unsigned)2The unique identifier of this message.
ClientIdInteger (unsigned)4The unique identifier of a session with the server, returned in a successful LoginReply message.
RequestIdInteger (unsigned)4Within each session each message must be uniquely identified by this field. It must be monotonically increasing for the duration of the session.

Fields

NameTypeSize (bytes)Description
TableOne of Table1Table number of the record to apply the session change. The permitted tables are Market, InstrumentGroup, Instrument and InstrumentMarket
IdForeign key to All8Id of the record to apply the session change
SessionForeign key to Session8
ClearFlagInteger (unsigned)1Set to withdraw all orders in the product(s) which will have their session changed.

Permissions


Session Set

{
	table: Table.InstrumentMarket,
	id: InstrumentMarket.find(eq("ShortName", "test-im")).Id,
	session: Session.find(eq("ShortName", "Auction")).Id,
}

Permission Checks

PermissionActionTableScopeIndex
AmendInstrumentMarketInstance0
ViewMarketInstance0

Test file: SessionSet