All Projects → dshe → InterReact

dshe / InterReact

Licence: other
Interactive Brokers reactive C# API.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to InterReact

ib-historical-data
Interactive Brokers TWS API -- Historical data downloader
Stars: ✭ 40 (+42.86%)
Mutual labels:  tws, interactive-brokers, ibapi
ib
Interactive Brokers TWS/IB Gateway API client library for Node.js (TS)
Stars: ✭ 94 (+235.71%)
Mutual labels:  tws, interactive-brokers, ibapi
Qactive
Reactive queryable observable framework.
Stars: ✭ 147 (+425%)
Mutual labels:  reactive, rx
Awesome Reactive Programming
A repository for sharing all the resources available on Reactive Programming and Reactive Systems
Stars: ✭ 163 (+482.14%)
Mutual labels:  reactive, reactive-extensions
Pharmacist
Builds observables from events.
Stars: ✭ 221 (+689.29%)
Mutual labels:  reactive-extensions, rx
Rx Connect
Glue your state and pure React components with RxJS
Stars: ✭ 86 (+207.14%)
Mutual labels:  reactive, rx
Rxviz
Rx Visualizer - Animated playground for Rx Observables
Stars: ✭ 1,471 (+5153.57%)
Mutual labels:  reactive, rx
Smallrye Mutiny
An Intuitive Event-Driven Reactive Programming Library for Java
Stars: ✭ 231 (+725%)
Mutual labels:  reactive, reactive-extensions
Rxdownloader
- Reactive Extension Library for Android to download files
Stars: ✭ 40 (+42.86%)
Mutual labels:  reactive, reactive-extensions
ibkr
Interactive Brokers wrapper 🚩
Stars: ✭ 34 (+21.43%)
Mutual labels:  interactive-brokers, ibkr
redrock
Typesafe, reactive redux
Stars: ✭ 14 (-50%)
Mutual labels:  reactive, rx
Rocket.jl
Functional reactive programming extensions library for Julia
Stars: ✭ 69 (+146.43%)
Mutual labels:  reactive, reactive-extensions
Android Okgraphql
Reactive GraphQl client for Android
Stars: ✭ 64 (+128.57%)
Mutual labels:  reactive, rx
callbag-subscribe
A callbag sink (listener) that connects an Observer a-la RxJS. 👜
Stars: ✭ 17 (-39.29%)
Mutual labels:  reactive, rx
Audio player flutter
🎧 Apple Music / Tidal Audio Player for Flutter
Stars: ✭ 52 (+85.71%)
Mutual labels:  reactive, rx
Aesthetic
[DEPRECATED]
Stars: ✭ 2,044 (+7200%)
Mutual labels:  reactive, rx
Reaktive
Kotlin multi-platform implementation of Reactive Extensions
Stars: ✭ 760 (+2614.29%)
Mutual labels:  reactive, rx
Sheldon
Type-safe reactive preferences for Android
Stars: ✭ 34 (+21.43%)
Mutual labels:  reactive, rx
ObservableComputations
Cross-platform .NET library for computations whose arguments and results are objects that implement INotifyPropertyChanged and INotifyCollectionChanged (ObservableCollection) interfaces.
Stars: ✭ 94 (+235.71%)
Mutual labels:  reactive-extensions, rx
rx
Reactive Extensions for D Programming Language
Stars: ✭ 52 (+85.71%)
Mutual labels:  reactive-extensions, rx

InterReact   Version License Ukraine

Reactive C# API to Interactive Brokers

  • .NET 6.0 library
  • compatible with Interactive Brokers API 9.85 (Aug 2021)
  • dependencies: RxSockets, StringEnums, Reactive Extensions, NodaTime
  • demo applications: Console, WPF
interface IInterReactClient : IAsyncDisposable
{
    Request Request { get; }
    IObservable<object> Response { get; }
    Services Services { get; }
}

Example

using System;
using System.Threading.Tasks;
using System.Reactive.Linq;
using InterReact;
// Create the InterReact client by connecting to TWS/Gateway on the local host.
IInterReactClient client = await new InterReactClientConnector().ConnectAsync();

// Create a contract object.
Contract contract = new()
{
   SecurityType = SecurityType.Stock,
   Symbol       = "SPY",
   Currency     = "USD",
   Exchange     = "SMART"
};

// Create and then subscribe to the observable which can observe ticks for the contract.
IDisposable subscription = client
    .Services
    .CreateTickObservable(contract)
    .OfTickClass(selector => selector.PriceTick)
    .Subscribe(onNext: priceTick => 
        Console.WriteLine($"Price = {priceTick.Price}"));

Console.WriteLine(Environment.NewLine + "press a key to exit...");
Console.ReadKey();
Console.Clear();

// Dispose the subscription to stop receiving ticks.
subscription.Dispose();

// Disconnect from TWS/Gateway.
await client.DisposeAsync();

Notes

Interactive Brokers Trader Workstation (TWS) or Gateway must be running with API access enabled. In TWS, navigate to Edit / Global Configuration / API / Settings and ensure the option "Enable ActiveX and Socket Clients" is selected.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].