C# demo does nothing

Hello,

  1. I have built the c# example and run it as outlined. USERNAME and PASSWORD are obviously my replaced below. The demo does nothing!

Any help appreciated? The demo should either connect successfully or provide meaningful information why the connection failed. Im aware that its Saturday and the exchange is closed but some sort of meaningful error message is what we all learn in programming 101.

./bin/Tradovate.Samples.exe USERNAME PASSWORD

CALLING SERVICES VIA WEBSOCKET
[+0] RECVD: o…
WebsocketClient_Opened
[+40] SENT: user/syncrequest\n1\n\n{“splitResponses”:true}
WebsocketClient_Closed
Press any key to exit

  1. On another note, what kind of support is available for Tradovate API. Im starting to have real concerns about the reliability/quality of this platform. Is there an offical support channel?

  2. Are there people out there that are actively algo trading on this platform? I am starting to think not based on the lack of responses to questions and also the questions posted here. Looks iffy to me but hopefullly Im wrong.

Hi Dylan, I am an independent developer and have been able to implement a complete trading bot with the API using their documentation. It took me 2 weeks from start to end and created all the code from scratch in nodejs.

I can tell you without any doubt that the system works well and is very reliable and scales well.

The only thing that is not well documented is the fact that there is no live futures data unless you pay CBOE $500 / mo licensing fee… so I integrated DataBento instead for live data and that is costing me less than $50/mo.

I can also tell you that if you expect any kind of response from their support team on this community site, you are SOL. I do not believe that they even know that this site exists anymore.

I have never called their support line to get help since I did not need it, so I cannot give you feedback on actual support there.

Hope this helps.

I have not looked at the C# app, but the logs in your message shows the issue. The syncrequest must include the userIds in an array

See:

const URL = 'wss://live.tradovateapi.com/v1/websocket'

const myWebSocket = new WebSocket(URL)

//authorize websocket with your access token
myWebSocket.onopen = function() {
    myWebSocket.send(`authorize\n0\n\n${accessToken}`)
}

const requestBody = {
    users: [12345]
}

myWebSocket.send(`user/syncrequest\n1\n\n${JSON.stringify(requestBody)}`) 

Thanks a million for your reply.

So if I understand correctly, I should send 2 messages over the websocket;

  1. Authorize with my tradovate accessToken (not marketData access token)

  2. send a user/syncrequest, with the requestBody above , where I replace 12345 above with the login id I use to connect to tradovate (trading GUI etc). In my case its Google:12345XXXXXXXXXX

Thanks correct, yes?

Much appreciated.

the userid is not your username…

Then you have to get a user list that will give you your userid

Everything else should then be done over websocket.

Remember to refresh your token before it expires.

Dylan, Are you an experienced developer? This is not an easy feat to implement and the amount of support you will get from Tradovate is basically non-existent.

What is your ultimate objective here?

It might make sense to use a service such as Traderspost instead since they have done all the hard work and it will make it very easy for you to place trades.

This is a screen shot of what I was able to build. It supports many user accounts and has a trading bot that takes trades for users or users can add manual trades. It has stop loss management and everything works really well…

You can easily switch between your demo and live account and playback previous sessions.

However, it is not something that is possible without extensive experience and took a lot of dedicated focus.

Hope this helps to give you an idea.

Please see