Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
 public void addBroker(Broker.Broker b)
 {
     _brokers.Add(b);
 }
Ejemplo n.º 3
0
        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;
                }
            }
        }
Ejemplo n.º 4
0
        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());
            }
        }