API Support Forum
User Profile

Viewing User Profile for: JSmith5611


About

N/A

Aug 15, 2023 10:29 AM

Aug 15, 2023 10:29 AM



Post Statistics
JSmith5611 has contributed to 187 posts out of 5593 total posts

20 most recent posts:

API Support » GF API COM ICE US Dollar Daily History Returning Saturday Bar Aug 15, 2023 @ 10:29 AM (Total replies: 1)

I'm looking into this, but haven't found a cause yet
Jason Smith


API Support » Possible reason for socket-error 0 May 24, 2023 @ 03:27 PM (Total replies: 1)

The three environments are completely independent. No shared servers or resources.
Jason Smith


API Support » DOW Mini Option Data Appears Very Sparse May 24, 2023 @ 08:01 AM (Total replies: 2)

These options don't seem to trade very much. I don't know why. Even CME's website has minimal data (and low if not zero volume)

https://www.cmegroup.com/markets/equities/dow-jones/e-mini-dow.quotes.options.html#optionProductId=319&expiration=319-M3
Jason Smith


API Support » GF COM API Range/Volume Bar Subscription vs History Request May 23, 2023 @ 02:52 PM (Total replies: 2)

Because of the way that volume / range bars are created, that's really not possible.
They are generated based on the timestamps that are passed in (or current time if none is given)

The better way of doing this is to do the subscription first, then doing the historical request using the timestamps of the first bar you get back from the subscription (this is how trader does it)
Jason Smith


API Support » GF API COM Logging in Without Internet Connection Gives Login Failed with Invalid Username or Password May 23, 2023 @ 09:50 AM (Total replies: 2)

Yep, these enums are not being mapped correctly. not a major issues, but i'll fix it.
Jason Smith


API Support » GF COM API: Determining if Position was Placed as a Spread Apr 18, 2023 @ 11:42 AM (Total replies: 2)

Positions are not associated with spreads, only with individual legs. That's how the exchange works.
Jason Smith


API Support » Incorrect Values Coming from Margin Calculation Request Mar 28, 2023 @ 12:08 PM (Total replies: 4)

for a buy leg, positive values.
for a sell leg, negative values.
Jason Smith


API Support » Incorrect Values Coming from Margin Calculation Request Mar 28, 2023 @ 11:25 AM (Total replies: 4)

Sorry, I forgot to tell you this.

Since you're just interested in the theoretical margin for the entire order, place the legs as hypo positions instead of hypo orders.

Hypo Positions are calculated all together, while hypo orders tries to find the worst-case situation of which orders would fill or not.
Jason Smith


API Support » COM API: Greeks API Subscription Feb 23, 2023 @ 07:25 AM (Total replies: 5)

I forgot to update you, sorry. The fix was released in 4.11.127.222 (released on 1/28)
Jason Smith


API Support » GF API COM OnMarginCalculationCompleted to Being Hit After doing Margin Request Feb 16, 2023 @ 11:48 AM (Total replies: 4)

Placing a margin calc request with multiple orders, and no position is working just fine for me.
Jason Smith


API Support » GF API COM: Margin Calculation Request Help Feb 16, 2023 @ 11:42 AM (Total replies: 4)

I've tested sending mutliple orders in a margin request with the latest COM api (4.11.210.227), and it works fine for me.
HypoOrders and HypoPositions are immutable by design (same for the .NET api)
Jason Smith


API Support » COM API: Greeks API Subscription Jan 03, 2023 @ 01:21 PM (Total replies: 5)

There is an issue. will be fixed.
Jason Smith


API Support » COM API: Greeks API Subscription Jan 03, 2023 @ 12:29 PM (Total replies: 5)

The third param should be of type GF_API_COM.IGreeks
I'll check to see if there's a problem with that event.
Jason Smith


API Support » GF API COM: Margin Calculation Request Help Dec 21, 2022 @ 06:54 AM (Total replies: 4)

From what i remember about the margin calc, the best way would be to place each leg as an separate order in the calc request.

This can be done as the following:

GF_Api_COM::IMarginCalculationRequestBuilderPtr builder;
builder.CreateInstance(__uuidof(GF_Api_COM::MarginCalculationRequestBuilder));
GF_Api_COM::IAccountListPtr accs = GFAPI()->Accounts->Get();
GF_Api_COM::IAccountPtr account = accs->GetAt(0);
builder = builder->WithAccountID(account->id);

//Loop next line for each contract / side / quantity
builder = builder->WithOrder(GFAPI()->Margin->CreateHypoOrder(contract->id, GF_Api_COM::OrderSide_Buy, quantity));
Jason Smith


API Support » Spreads Not Coming in for SIM Nov 03, 2022 @ 08:55 AM (Total replies: 4)

I found the cause of this, and have fixed it.. but it will take a full system restart to take affect.
Jason Smith


API Support » GF API COM Custom Compound Help Sep 21, 2022 @ 03:02 PM (Total replies: 22)

Where does it say that?

There's no side property here:

https://gainfutures.com/GFAPI/html/T_GF_Api_Contracts_Legs_Leg.htm
Jason Smith


API Support » GF API COM Custom Compound Help Sep 21, 2022 @ 02:30 PM (Total replies: 22)

Legs of contracts (once created) don't really have a side. They do have a quantity, which can be negative.
Jason Smith


API Support » GF API COM: No DataFeedEntitlementSubscriptionType Inside of IDataFeedEntitlementPtr Sep 21, 2022 @ 11:31 AM (Total replies: 35)

What do you get when you case the SubscriptionType to an integer?
should either be 2 if only DOM, or 3 if DOM + TopOfBook

Also, what programming language are you using?
Jason Smith


API Support » GF API COM: No DataFeedEntitlementSubscriptionType Inside of IDataFeedEntitlementPtr Sep 20, 2022 @ 02:50 PM (Total replies: 35)

Unfortunately, COM strips out the markers for flag enums.
Jason Smith


API Support » GF API COM: No DataFeedEntitlementSubscriptionType Inside of IDataFeedEntitlementPtr Sep 20, 2022 @ 02:12 PM (Total replies: 35)

its a flag enum.

try:

VARIANT_BOOL hasDom = (pDfe->SubscriptionType | GF_Api_COM::DataFeedEntitlementSubscriptionType::DataFeedEntitlementSubscriptionType_DOM) == GF_Api_COM::DataFeedEntitlementSubscriptionType::DataFeedEntitlementSubscriptionType_DOM));

The values in the enum are:

TopOfBook = 1,
DOM = 2

it is possible to have BOTH be true, in which case the underlying value of the enum will be 3.
Jason Smith