API Support Forum
User Profile

Viewing User Profile for: SPikalov


About

N/A

Jan 26, 2024 01:03 AM

Jan 26, 2024 01:12 AM



Post Statistics
SPikalov has contributed to 24 posts out of 5593 total posts

20 most recent posts:

API Support » System.TypeLoadException Jan 26, 2024 @ 01:03 AM (Total replies: 5)

Also see https://apisupport.gainfutures.com/Topic/Index/1435

API Support » System.TypeLoadException Jan 26, 2024 @ 01:01 AM (Total replies: 5)

Looks like the wrong version of SimpleInjector nuget package installed
It should be SimpleInjector.4.7.1

You can try the following:
Clone BasicExample
https://bitbucket.org/GainFuturesDev/basicexample
Open GF.BasicExample.sln ->
Restore NuGet Packages -> Make sure that it finshed without errors
The 'packages' folder should contain the following:
GFAPI.4.11.519.358
Microsoft.Bcl.AsyncInterfaces.5.0.0
Microsoft.CSharp.4.7.0
SimpleInjector.4.7.1
System.Buffers.4.5.1
System.Diagnostics.Contracts.4.3.0
System.Linq.4.3.0
System.Linq.Queryable.4.3.0
System.Memory.4.5.4
System.Numerics.Vectors.4.5.0
System.Reflection.Emit.4.6.0
System.Reflection.Emit.Lightweight.4.3.0
System.Runtime.CompilerServices.Unsafe.4.5.3
System.Threading.Tasks.Extensions.4.5.4
System.ValueTuple.4.5.0

-> Build Solution
-> Start

If there are no issues - repeat this with AdvancedExample
Edited by SPikalov on Jan 26, 2024 01:05 AM

API Support » System.TypeLoadException Jan 25, 2024 @ 04:26 AM (Total replies: 5)

Hello.
I can't reproduce your issue.
Are you using the latest version of AdvancedExample?

API Support » Options for a base contract Jul 18, 2022 @ 03:22 AM (Total replies: 4)

There is no difference between ‘OEW3’ and ‘OE3A’ or ‘OE4A’
And I get results for all contracts only by changing ‘private const string BaseSymbol’ in the example
So, please provide additional info:
At each step in the example, you are not getting data?
Do you see these contracts in ‘Gain Trader Developer’ – Lookup window ?

API Support » Contracts Lookup Jul 13, 2022 @ 06:00 AM (Total replies: 2)

"“if " .WithResultCount(1)" is set to high it will generate a "software error.”

Maximum possible value 50

Market Data » ID function Jul 13, 2022 @ 05:50 AM (Total replies: 2)

You can use:
var client = GFApi.CreateClient();
….
var contractID = client.Contracts.Get("ESZ22")?.ID;

But it can return null if the contract is not loaded from a server

For guaranteed results, you still need to use:
client.Contracts.Lookup.BySymbol("ESZ22");
and
“SymbolLookupEventArgs event”

API Support » Contracts Lookup Jul 13, 2022 @ 05:32 AM (Total replies: 2)

"How do I get all of the futures contracts for a base symbol?"
Please see:
https://bitbucket.org/GainFuturesDev/workspace/snippets/8Eqk9b/gfapipagedloadcontractsbybasesymbol

API Support » Options for a base contract Jul 13, 2022 @ 05:18 AM (Total replies: 4)

Please see:
https://bitbucket.org/GainFuturesDev/workspace/snippets/8Eqk9b/gfapipagedloadcontractsbybasesymbol

API Support » Trouble Running bitbucket examples Nov 10, 2021 @ 06:45 AM (Total replies: 4)

It’s strange
Maybe something wrong with your Nuget Installer
Please check ‘basicexample\GF.BasicExample\packages.config’
It should contain:

package id="GFAPI" version="4.0.3.44" targetFramework="net462"
package id="Microsoft.CSharp" version="4.5.0" targetFramework="net462"
package id="SimpleInjector" version="4.7.1" targetFramework="net462"
package id="System.Reflection.Emit" version="4.3.0" targetFramework="net462"



Also check ‘d:\projects\OEC\bitbucket\basicexample\packages’
This folder should contain: GFAPI.4.0.3.44, SimpleInjector.4.7.1, Microsoft.CSharp.4.5.0, System.Reflection.Emit.4.3.0

Edited by SPikalov on Nov 10, 2021 06:47 AM

API Support » Trouble Running bitbucket examples Nov 09, 2021 @ 04:08 AM (Total replies: 4)

Please install the last stable GFAPI Nuget package (https://www.nuget.org/packages/GFAPI/4.0.3.44)

API Support » Issue pulling in most recent historical daily bar for Grains Jul 13, 2021 @ 04:32 AM (Total replies: 10)

Hello.
The issue with the incorrect session time has already been fixed.
Please, download and install the latest version of GAIN GFAPI COM
x64: https://prod.gainfutures.com/WebAPI/api/Files/DownloadClientUpdateLast?brandId=0&clientTypeId=5005&branchId=2
x86: https://prod.gainfutures.com/WebAPI/api/Files/DownloadClientUpdateLast?brandId=0&clientTypeId=5003&branchId=2
And check again.

Thanks,
Sergey

API Support » ModifyOrderDraftBuilder with price update Jun 02, 2021 @ 06:24 AM (Total replies: 1)

Hello.
This may be due to the fact that prices must be a multiple of the contract TickSize
Which contract are you using?

Regards,
Sergey

API Support » GF COM API Prioritize Requests May 27, 2021 @ 01:58 AM (Total replies: 8)

I can advise you the following:
Send a subsequent request to contract load only after you have received a response to the previous one.

API Support » GF COM API Prioritize Requests May 26, 2021 @ 09:29 AM (Total replies: 8)

You are right, in some cases, the subsequent request is waiting for the processing of the previous ones.
Loading contracts is just such a case.
We do not currently support a prioritization mechanism for requests.
But we will consider the possibility of improving our system.

Regards,
Sergey.

API Support » GF COM API Prioritize Requests May 24, 2021 @ 05:02 AM (Total replies: 8)

There is no direct connection between when you sent a request and when you received a response.
Our servers process your requests and return the result as soon as they are ready.
For example, there is no direct relationship between the processing speed of requests for contracts and orders.
So,
“Is there a way I can send something through the api to prioritize my order request over my contract load requests?
Hope this makes sense.”
It doesn't make sense.

Regards,
Sergey

API Support » GF COM API Reconnecting on Socket Error Disconnection May 11, 2021 @ 05:31 AM (Total replies: 4)

Probably your issue here is that you are trying to call Connect from the Disconnected event handler.
You need to wait for the current process to complete.
For example, in “GF API COM C++ Sample” I did it like this:
void __stdcall CCppCOMSampleDlg::OnDisconnected(GF_Api_COM::DisconnectionReason reason, BSTR message)
{
std::thread::id this_id = std::this_thread::get_id();
CString string(message);
log << "Disconnected due to " << string <
//----Emulating the repeated click of the button by the user
HWND btnConnetHandle = GetDlgItem(IDC_CONNECT)-> GetSafeHwnd();
::PostMessage(btnConnetHandle, BM_CLICK, 0, 0);
}

API Support » GF COM API Reconnecting on Socket Error Disconnection May 06, 2021 @ 09:22 AM (Total replies: 4)

Hello.
It is difficult to understand what went wrong, according to the available information.
Please provide a more detailed code example and UserName under which you connect.

Regards,
Sergey

API Support » OSO orders bug in COM API Feb 22, 2021 @ 12:11 AM (Total replies: 12)

“I see no way to otherwise distinguish real from fake.”
See
GF.Api.Orders.IOrder
IOrder ParentOrder { get; }
IReadOnlyList SubOrders { get; }

or
GF.Api.COM.Orders.IOrder
IOrder ParentOrder { get; }
IOrderList SubOrders { get; }

“ So I guess my remaining question is: why are these fake orders coming through the API at all? What possible use could I on the client end have for them?”
You can work with both parent orders and sub-orders.
I.e. If you modify\cancel the parent order => sub orders will be modified\canceled corresponding way
If you modify\cancel sub orders => the parent order will be modified\canceled corresponding way

API Support » OSO orders bug in COM API Feb 11, 2021 @ 03:28 AM (Total replies: 12)

Sorry,
GF.Servers.Msgs.Values.Orders. OSOGroupingMethod
=>
GF.Api.Values.Orders.OSOGroupingMethod

API Support » OSO orders bug in COM API Feb 11, 2021 @ 02:39 AM (Total replies: 12)

it’s not a bug it’s a feature :)
211862712 - this is a "fake" order that we use to group real orders
211862714 - this is a "real" or "sub" order that we send to an exchange. See order comment - ‘Sub order for 211862712’

Sub orders creation algorithm depends on the grouping method you choose. See GF.Servers.Msgs.Values.Orders. OSOGroupingMethod
In your case, it was OSOGroupingMethod. ByFirstPrice

211862713 -> 211862715
The same situation.

You can open the Trader app and submit OSO orders. I think after that you will understand the OSO algorithm more clearly