Skip to content

feature: fix order properties with custom tags support - #9619

Merged
Romazes merged 3 commits into
QuantConnect:masterfrom
Romazes:feature-fix-order-properties
Jul 15, 2026
Merged

feature: fix order properties with custom tags support#9619
Romazes merged 3 commits into
QuantConnect:masterfrom
Romazes:feature-fix-order-properties

Conversation

@Romazes

@Romazes Romazes commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds FixOrderProperties with an AdditionalProperties dictionary so users can send extra FIX tags with their orders. The key is the FIX tag number and the value is the tag value. BloombergFixOrderProperties inherits it. Clone() copies the dictionary so orders don't share it with DefaultOrderProperties.

The existing misspelled FixOrderProperites is now an empty class marked [Obsolete] that inherits FixOrderProperties; its HandleInstruction, Notes and handling-instruction constants moved to the new class, so TradingTechnologiesOrderProperties keeps working unchanged.

var orderProperties = new BloombergFixOrderProperties();
orderProperties.AdditionalProperties["9301"] = "1";
DefaultOrderProperties = orderProperties;

Related PR(s)

N/A

Related Issue

N/A

Motivation and Context

Some FIX counterparties require extra tags on order messages. For example, a broker behind the Bloomberg FIX connection requires tag 9301=1 to mark orders as direct market access (DMA).

Requires Documentation Change

Yes, the brokerage documentation should describe the new AdditionalProperties order property.

How Has This Been Tested?

  • Unit test: FixOrderPropertiesTests.BloombergFixOrderPropertiesSupportsAdditionalPropertiesAndClone

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Refactor (non-breaking change which improves implementation)
  • Performance (non-breaking change which improves performance)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Non-functional change (xml comments/documentation/etc)

Checklist:

  • My code follows the code style of this project.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

@Romazes
Romazes requested a review from Martin-Molinero July 14, 2026 19:32
@Romazes Romazes self-assigned this Jul 14, 2026
@Romazes
Romazes force-pushed the feature-fix-order-properties branch 4 times, most recently from 70d78d6 to 4689cf0 Compare July 14, 2026 21:37
- new FixOrderProperties with AdditionalProperties dictionary for custom fix tags
- clone copies the additional properties dictionary
- new BloombergFixOrderProperties inherits it
- moved HandleInstruction, Notes and handling constants from FixOrderProperites
- misspelled FixOrderProperites is obsolete and now inherits FixOrderProperties
@Romazes
Romazes force-pushed the feature-fix-order-properties branch from 4689cf0 to c1bcba1 Compare July 14, 2026 21:45

@Martin-Molinero Martin-Molinero left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

- TradingTechnologiesOrderProperties inherits FixOrderProperties directly
- remove stale MarketOnClose test case from BloombergFixBrokerageModelTests
@Romazes
Romazes merged commit 2269b73 into QuantConnect:master Jul 15, 2026
7 of 8 checks passed
@Romazes
Romazes deleted the feature-fix-order-properties branch July 15, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants