Jump to content

Tartempion

Community Member
  • Posts

    8
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Tartempion

  1. Hello, last year I made myself a little bot on Telegram to see what it was possible to do. You must first make yourself a software that allows you to follow the evolution of your orders (and possibly place orders but it is not necessary) via the IG API. Once this software is running on one of your computers, you create a second software (or an extension of the first), let's call this second software Robby. Robby is listenning your bot-account and can send messages to your Telegram account. The Telegram API allows you to display a personalized keyboard on your Telegram account when you send a specific message to your bot (In fact , Robby receives this specific message an he sends to your telegram account your personalised keyboard. With your custom keyboard you send a request to your bot. This request is read by your Robby software. And indeed you can program Robby so that he sends you several messages successively that each of them is the stream of IG API about your positions. (see "Trade Subscription" here: https://labs.ig.com/streaming-api-reference). Of course you can close or open orders from Telegram if you have programmed Robby to do this. If you have any technical questions I will try to answer them to the best of my ability. My software is programmed in Labview. Not in C# , not in Python , etc...
  2. One of the most serious is InteractiveBrokers. The api is very well documented. Just the fact that they take care to publish this (https://interactivebrokers.github.io/tws-api/guide_updates.html) allows you to form your opinion on the comparison with the api from IG...
  3. The dotnet methods used are NOT asynchronous. But their async versions exist . (For labview , not async dotnet methods are better because alll the rest of program is asynchronous and parallelized. It would be useless and it would consume more resources just for the StreamReader. Useless because he is alone for the dotnet engine. )
  4. @charlie303 Windows 10. Unfortunately I am completely unable to translate this into c# code. My knowledge of C# is too rudimentary. I am learning C# but at a really beginner level. It's easier to read than to write. I program in Labview. I wrote a very synthetic labview code that summarizes my use of the two dotnet constructors. This code is not executable for someone who wants to run it with labview. It's just a fairly accurate representation of what you were asking me. I can't go any further, I don't have the skills in C#. But Swingwin knows a little labview, maybe he can translate my code for you. Labview programmation is data flow programmation. The data flow is going from left to right. Hope the image is readable enough.
  5. Sorry I didn’t name the property : The property of the ServicePointManager class is SecurityProtocol. This property must be set to "Tls12"
  6. Hello guys ! I had the same problem as you since Monday morning although I don't use the dotnet library from IG. I use two constructors from the dotnet framework in my LabVIEW program. The first is WebClient (it's a bit barbaric as a way of doing things, but it's been working well since 2015 even if Microsoft recommends using a more current solution: System.Net.Http.HttpClient ). Its path is System (4.0.0.0)>System.Net>Webclient(). This constructor has a method named OpenRead which generates a Stream instance. Then I use the StreamReader constructor (the second constructor). Its path is mscorlib(4.0.0.0)>System.IO>StreamReader(Stream,Stream). This constructor takes as argument the Stream instance provided by the OpenRead method of the WebClient. Then just call the "ReadLine" method of the StreamReader in a loop. I tell you my life to make it clear that with this very simple structure I had the same problem as you since this weekend. The stream server was rejecting me without even returning a response. But today I added in my program a call to the ServicePointManager property. The call to this property is done before the call to the WebClient constructor. The System.Net.ServicePointManager class has the path : System(4.0.0.0)>System.Net>ServicePointManager and I assign it the value Tls12 (among the other values which are: SystemDefault, Ssl3, Tls, Tls11,Tls12, Tls13 and " others"). And the flow starts again. I don't use version 3 for the IG API and it still works. Hope this can help you! Thank you for your various messages wich allowed me to find the way out of my problem. I hope this will also solve yours which seems to me to be of the same nature. Thanks to Firefox and its Web Development tool in the IG Companion webpage (https://labs.ig.com/sample-apps/streaming-companion/index.html) .
  7. Same for me who does not use the IG dotnet library. Ok for the session creation in version 3 with bearer token but my software gets an execption when connecting to https://demo-apd.marketdatasystems.com. It should be noted that a new version of the Lightstreamer documentation dates from October 2021, here: https://sdk.lightstreamer.com/ls-generic-client/2.3.0/TLCP Specifications.pdf whereas I’ve implemented my software with 2015 document version. Maybe something has changed. But in that case why PROD stream still works fine ? Here the page for all documents for lightstreamer https://lightstreamer.com/doc.htm
  8. Hello Swingwin, I have the same problem with my own LabVIEW software which does not use the dotnet library from IG. After reading your message I tried my software on the DEMO stream and I see the same problem as you. (I rarely use the demo stream). Do you know what needs to be changed very concretely in the subscription procedure? I don’t program with C#. Everything is at the socket. Did you read somewhere a message from IG that informed about the modification of the parameters for the DEMO stream subscription requests? It scares me if one day they do the same with the PROD stream ahah. Anyway, it's nice to meet you again. We should stay in touch!
×
×
  • Create New...
us