Skip to content

feature: fix order properties with custom tags support#9619

Open
Romazes wants to merge 2 commits into
QuantConnect:masterfrom
Romazes:feature-fix-order-properties
Open

feature: fix order properties with custom tags support#9619
Romazes wants to merge 2 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
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.

1 participant