Author |
Topic: GF API COM OnMarginCalculationCompleted to Being Hit After doing Margin Request (5 messages, Page 1 of 1) |
||||
---|---|---|---|---|---|
Moderators: VPfau | |||||
RWare2020 Posts: 206 Joined: Feb 11, 2020 |
OnMarginCalculationCompleted is not being called after doing a margin request.
It was working before and is no longer working. This is my code for the margin request: I have tried updating the latest version of the API but did not help IMarginCalculationRequestBuilderPtr marginCalc; marginCalc.CreateInstance(__uuidof(MarginCalculationRequestBuilder)); IAccountPtr pAcct = GetCurrentAccountPtr(GFApi()); marginCalc->WithAccountID(pAcct->id); IContractPtr contract = GFApi()->Contracts->Get_2((LPCTSTR)leg-> marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, side, qty)); IMarginCalculationRequestPtr marginRequest = marginCalc->Build(); _bstr_t valid = GFApi()->Margin->ValidateMarginCalculationRequest(marginRequest); //valid is NULL which means it is valid GFApi()->Margin->RequestMarginCalculation(marginRequest); Please implement what is involved in this thread (https://apisupport.gainfutures.com/Topic/Index/1483) , it's in the API, but not in the GF COM API Wrapper as well Thanks |
||||
RWare2020 Posts: 206 Joined: Feb 11, 2020 |
Logging is showing that the margin calculation is going out:
Timestamp: 2/9/2023 6:03:30 PM - Category: 2 - Message: OrderConnection Outgoing: Timestamp: 2/9/2023 6:03:32 PM - Category: 2 - Message: OrderConnection Outgoing: Timestamp: 2/9/2023 6:03:34 PM - Category: 2 - Message: OrderConnection Outgoing: |
||||
RWare2020 Posts: 206 Joined: Feb 11, 2020 |
Something seems weird.
With option symbol: OQNEG23 C12500 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Buy, 1)); OQNEG23 P12500 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Sell, 1)); OQNEG23 C12250 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Buy, 1)); OnMarginCalculated does not get called With Option Symbol: OQNEG23 C12300 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Buy, 1)); OQNEG23 P12300 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Sell, 1)); OQNEG23 C12550 - marginCalc->WithOrder(GFApi()->Margin->CreateHypoOrder(contract->id, OrderSide_Buy, 1)); OnMarginCalculated does get called They are both compound orders with 2 buy calls and 1 sell put. The legs that do get calculated, they are a current position of mine. Why is it working when I have a position and not work when I don't have a position with those legs? |
||||
RWare2020 Posts: 206 Joined: Feb 11, 2020 |
Furthermore, if I place the order that is not being calculated, then attempt to do another margin check on the position I just placed it works.
So it appears that the margin calculation only works on positions in the account. |
||||
JSmith5611 Posts: 187 Joined: |
Placing a margin calc request with multiple orders, and no position is working just fine for me.
Jason Smith
|
||||