public Core(LoginIqOptionDTO mainAccount, IEnumerable <LoginIqOptionDTO> followersAccount = null) { _trader = new IqOptionClient(mainAccount.Email, mainAccount.Password); _trader.OnBuy += FollowerBuyAsync; Followers = followersAccount ?.ToDictionary(x => x.Email, x => new IqOptionClient(x.Email, x.Password)); }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var trader = new IqOptionClient("*****@*****.**", "changeme"); var follower = new IqOptionClient("*****@*****.**", "changeme"); await Task.WhenAll(trader.ConnectAsync(), follower.ConnectAsync()); trader.WsClient.OpenOptionObservable().Subscribe(x => { follower.BuyAsync(x.Active, (int)x.Amount, x.Direction, x.ExpirationTime); }); }
public async Task RunSample() { var trader = new IqOptionClient("*****@*****.**", "changeme"); var follower = new IqOptionClient("*****@*****.**", "changeme"); await Task.WhenAll(trader.ConnectAsync(), follower.ConnectAsync()); trader.WsClient.OpenOptionObservable().Subscribe(x => { follower.BuyAsync(x.Active, (int)x.Amount, x.Direction, x.ExpirationTime); }); }
public async Task RunSample() { var api = new IqOptionClient(_config.Email, _config.Password); _logger.Information($"Connecting to iqoption.com for {_config.Email}"); if (await api.ConnectAsync()) { _logger.Information("Connect Success"); //get profile var profile = await api.GetProfileAsync(); _logger.Information($"Success Get Profile for {_config.Email}"); // open order EurUsd in smallest period (1min) var exp = DateTime.Now.AddMinutes(1); var buyResult = await api.BuyAsync(ActivePair.EURUSD, 1, OrderDirection.Call, exp); // get candles data var candles = await api.GetCandlesAsync(ActivePair.EURUSD, TimeFrame.Min1, 100, DateTimeOffset.Now); _logger.Information($"CandleCollections received {candles.Count}"); // subscribe to pair to get real-time data for tf1min and tf5min var streamMin1 = await api.SubscribeRealtimeDataAsync(ActivePair.EURUSD, TimeFrame.Min1); var streamMin5 = await api.SubscribeRealtimeDataAsync(ActivePair.EURUSD, TimeFrame.Min5); streamMin5.Merge(streamMin1) .Subscribe(candleInfo => { _logger.Information($"Now {ActivePair.EURUSD} {candleInfo.TimeFrame} : Bid={candleInfo.Bid}\t Ask={candleInfo.Ask}\t"); }); // after this line no-more realtime data for min5 print on console await api.UnSubscribeRealtimeData(ActivePair.EURUSD, TimeFrame.Min5); //when price down with } }
public async Task RunSample() { var trader = new IqOptionClient("*****@*****.**", "changeme"); var follower = new IqOptionClient("*****@*****.**", "changeme"); await Task.WhenAll(trader.ConnectAsync(), follower.ConnectAsync()); // for binary trader.WsClient.OpenOptionObservable().Subscribe(x => { follower.BuyAsync(x.Active, (int)x.Amount, x.Direction, x.ExpirationTime); }); // for digitals forex and others trader.WsClient.PositionChangedObservable().Subscribe(x => { if (x.InstrumentType == InstrumentType.DigitalOption) { follower.PlaceDigitalOptions(x.InstrumentId, x.InvestAmount); } }); }