File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed
Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,7 @@ public bool PlaceOrder(Order order)
9595 } ;
9696 wexOrder . SetField ( new CustomerOrFirm ( CustomerOrFirm . CUSTOMER ) ) ;
9797
98+ SetOrderLocateBroker ( order , wexOrder ) ;
9899 if ( order . Symbol . SecurityType . IsOption ( ) )
99100 {
100101 wexOrder . SetField ( GetOrderSideType ( order ) ) ;
@@ -150,6 +151,27 @@ public bool UpdateOrder(Order order)
150151 throw new NotImplementedException ( ) ;
151152 }
152153
154+ private void SetOrderLocateBroker ( Order order , NewOrderSingle wexOrder )
155+ {
156+ // shorting equities
157+ if ( order . Symbol . SecurityType != SecurityType . Equity || order . Quantity > 0 )
158+ {
159+ return ;
160+ }
161+
162+ var wolverineOrderProperties = order . Properties as WolverineOrderProperties ;
163+ if ( wolverineOrderProperties != null && ! string . IsNullOrEmpty ( wolverineOrderProperties . LocateBroker ) )
164+ {
165+ wexOrder . SetField ( new LocateReqd ( false ) ) ;
166+ wexOrder . SetField ( new StringField ( 5700 , wolverineOrderProperties . LocateBroker ) ) ;
167+ }
168+ else
169+ {
170+ // Yes means brokers pick up the locate
171+ wexOrder . SetField ( new LocateReqd ( true ) ) ;
172+ }
173+ }
174+
153175 private string GetOrderExchange ( Order order )
154176 {
155177 var exchangeDestination = string . Empty ;
You can’t perform that action at this time.
0 commit comments