Author |
Topic: Not able to connect with API (7 messages, Page 1 of 1) |
||||
---|---|---|---|---|---|
Moderators: VPfau | |||||
BGoyal9136 Posts: 27 Joined: Sep 21, 2017 |
Hi Team,
I hope you guys doing great. I am using GF client in my application . I am using below code to connect with GF. but still getting connection error . _gfClient.Connection.Aggregate.Disconnect(); _gfClient.Connection.Aggregate.Connect( new ConnectionContextBuilder() .WithUserName(uid) .WithPassword(pass) .WithUUID(UUID) .WithPort(9210) .WithHost(GFApis) .WithForceLogin(true) .Build()); Can you please check this. where I am doing wrong .or why I am getting connection error. Note : when I am using my credentials with advance example with GF api .I am able to login. Thanks Kapil Goyal |
||||
CMicciche902 Posts: 367 Joined: |
What is the message provided by server? I saw successful connection in our logs. Did you type credentials incorrectly previously?
Chris M
|
||||
BGoyal9136 Posts: 27 Joined: Sep 21, 2017 |
Hi CMicciche902,
Thanks for your reply. when I am using advanceExample with my credential I am getting successful connection. but when I am using Gain Future api with my application code. still I am getting FailedReason as ConnectionError in LoginFailed method. for your reference Below are the code I am using : using GF.Api; using GF.Api.Connection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace WpfApp1 { class Class1 { private static GF.Api.IGFClient gfClient; public static void Main(String[] args) { gfClient = GF.Api.Impl.GFApi.CreateClient(); var runner = new GF.Api.Threading.GFClientRunner(gfClient); runner.Start(); Console.WriteLine("Connecting..."); gfClient.Connection.Aggregate.LoginCompleted += OnLoginComplete; gfClient.Connection.Aggregate.LoginFailed += onLogonFailed; gfClient.Connection.Aggregate.Disconnected += OnDisconnected; gfClient.Logging.ErrorOccurred += (client, e) => Console.WriteLine($"{e.Exception.Message}"); gfClient.Connection.Aggregate.Disconnect(); gfClient.Connection.Aggregate.Connect( new GF.Api.Connection.ConnectionContextBuilder() .WithUserName("BGoyal9136") .WithPassword("Test1234!") .WithUUID("9e61a8bc-0a31-4542-ad85-33ebab0e4e86") .WithPort(9210) .WithHost("api.gainfutures.com") .WithForceLogin(true) .Build()); var timer = new System.Timers.Timer { Interval = TimeSpan.FromSeconds(2).TotalMilliseconds }; timer.Elapsed += (_, __) => { // The timer callback is on a different thread than the GFClientRunner, so we must delegate to the runner thread gfClient.Threading.Invoke(() => { if (!gfClient.Connection.Aggregate.IsConnected) return; var account = gfClient.Accounts.Get().First(); GF.Api.Balances.IBalance totalBalance = account.TotalBalance; Console.WriteLine($"Account: {account.Spec}"); Console.WriteLine($"\tNetLiq: {totalBalance.NetLiq:c}"); Console.WriteLine($"\tCash: {totalBalance.Cash:c}"); Console.WriteLine($"\tOpen P/L: {totalBalance.OpenPnL:c}"); Console.WriteLine($"\tTotal P/L: {totalBalance.RealizedPnL + totalBalance.OpenPnL:c}"); Console.WriteLine($"\tInitial Margin: {totalBalance.InitialMargin:c}"); Console.WriteLine($"\tNet Options Value: {totalBalance.LongCallOptionsValue + totalBalance.LongPutOptionsValue + totalBalance.ShortCallOptionsValue + totalBalance.ShortPutOptionsValue:c}"); Console.WriteLine($"Average Positions: {account.AvgPositions.Count}"); Console.WriteLine($"Orders: {gfClient.Orders.Get().Count}, last one: {(gfClient.Orders.Get().Count > 0 ? gfClient.Orders.Get().Last().ToString() : string.Empty)}"); Console.WriteLine(); }); }; Console.WriteLine("Press any key to quit"); //Console.ReadKey(); timer.Stop(); runner.Stop(); } public static void OnDisconnected(IGFClient client, DisconnectedEventArgs e) { Console.WriteLine("Login Disconnected: " + e.Message); } public static void onLogonFailed(IGFClient client, LoginFailedEventArgs e) { Console.WriteLine("Login Failed: " + e.FailReason); } public static void OnLoginComplete(IGFClient client, LoginCompleteEventArgs e) { Console.WriteLine("Login Success "); } } } Thanks Kapil Goyal |
||||
CMicciche902 Posts: 367 Joined: |
Does this issue occur with latest API version 4.0.3.28, latest can be found at https://www.nuget.org/packages/GFAPI/
Chris M
|
||||
BGoyal9136 Posts: 27 Joined: Sep 21, 2017 |
Hi,
I am using GF 4.0.3.5 api. Thanks Kapil Goyal |
||||
BGoyal9136 Posts: 27 Joined: Sep 21, 2017 |
Hi ,
I have tried with both api verisons : GF 4.0.3.5 GF 4.0.3.28 but still getting same error : Connection Error Thanks Kapil Goyal |
||||
JSmith5611 Posts: 187 Joined: |
I just created a new .net framework console application using .net 4.6.2. Added GFAPI 4.0.3.33 via nuget, and copied the code posted here.
After uncommenting out the readkey line, and starting the timer, it works just fine for me. I then tested with every version of the GFAPI available on nuget: 4.0.3.33 - Works 4.0.3.28 - Works 4.0.3.16 - Works 4.0.3.5 - Fails with your description. Please make sure you update your reference to GFAPI through nuget. Jason Smith
|
||||