public TradingStrategy(BinanceClient binanceClient, IRequest request) { broker = new Broker.Broker(binanceClient, request); _request = request; CurrentPosition = new List <Position>(); Trades = new List <Trades.Trades>(); var btcPosition = new Position("btc", 0); btcPosition.Add(new Trade("btc", _request.StartAmount)); CurrentPosition.Add(btcPosition); foreach (var ticker in _request.TradingPairs) { var ccy = ticker.Replace("btc", ""); var pos = CurrentPosition.Where(x => x.Ticker == ccy); if (pos.Count() > 0) { continue; } CurrentPosition.Add(new Position(ccy, 0)); } }
public void addBroker(Broker.Broker b) { _brokers.Add(b); }
public void createProcess(String processName, String type, String Site, String Url) { element targetSite = this.findElement(networkTree, Site); Broker.Broker b; Publisher.Publisher p; Subscriber.Subscriber s; string brokerUrl = ""; if (targetSite == null) { Console.WriteLine("No target site found..."); } else { switch (type) { case "broker": if (_routingPolicy) { b = new Broker.Broker(processName, Url, Site, "filter", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } else { b = new Broker.Broker(processName, Url, Site, "flooding", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } if (targetSite.getParent() != null) { foreach (string url in targetSite.getParent().getBrokerUrls()) { b.addParentUrl(url); } foreach (Broker.Broker parentBroker in targetSite.getParent().getBrokers()) { parentBroker.addChildUrl(Url); } } if (_faultTolerant && targetSite.getBrokers() != null) { foreach (string url in targetSite.getBrokerUrls()) { b.addBackupUrl(url); } foreach (Broker.Broker backupBroker in targetSite.getBrokers()) { backupBroker.addBackupUrl(Url); } } Console.WriteLine(b.getProcessName()); _brokers.Add(b); targetSite.addBroker(b); //writeToLog("Broker " + processName + " created on " + Site + " with process URL " + Url); break; case "publisher": p = new Publisher.Publisher(processName, Url, Site, this._masterURL); foreach (Broker.Broker sb in targetSite.getBrokers()) { p.addBrokerURL(sb.getProcessURL()); } _publishers.Add(p); targetSite.addPublisher(p); //writeToLog("Publisher " + processName + " created on " + Site + " with process URL " + Url); break; case "subscriber": brokerUrl = targetSite.getBrokerUrls().ElementAt(0); s = new Subscriber.Subscriber(processName, Url, Site, this._masterURL, _ordering); foreach (Broker.Broker pb in targetSite.getBrokers()) { s.addBrokerURL(pb.getProcessURL()); } _subscribers.Add(s); targetSite.addSubscriber(s); foreach (Broker.Broker broker in targetSite.getBrokers()) { broker.addSubscriberUrl(Url); } //writeToLog("Subscriber " + processName + " created on " + Site + " with process URL " + Url); break; } } }
public void connectToNode(string type, string name) { Node target = null; bool fail = false; foreach (Broker.Broker br in _brokers) { if (br.getProcessName() == name) { target = br; } } foreach (Subscriber.Subscriber sr in _subscribers) { if (sr.getProcessName() == name) { target = sr; } } foreach (Publisher.Publisher pr in _publishers) { if (pr.getProcessName() == name) { target = pr; } } switch (type) { case "broker": _remoteBroker = (Broker.Broker)Activator.GetObject(typeof(Broker.Broker), target.getProcessURL()); if (_remoteBroker == null) { fail = true; } break; case "subscriber": _remoteSub = (Subscriber.Subscriber)Activator.GetObject(typeof(Subscriber.Subscriber), target.getProcessURL()); if (_remoteSub == null) { fail = true; } break; case "publisher": _remotePub = (Publisher.Publisher)Activator.GetObject(typeof(Publisher.Publisher), target.getProcessURL()); if (_remotePub == null) { fail = true; } break; } if (fail) { Console.WriteLine("Could not extablish Proxy to " + target.getProcessURL()); } else { Console.WriteLine("Established Proxy to: " + target.getProcessURL()); } }