Esempio n. 1
0
        public void TradeSignal(TickDataModel buyQuote, TickDataModel sellQuote)
        {
            string subject = string.Format(
            "Botcoin - Arbitrarge oppurtunity discovered between {0}, {1}",
            buyQuote.SourceExchange, sellQuote.SourceExchange);

            string body = string.Format(
            @"
            Botcoin has discovered an <i>arbitrarge</i> oppurtunity by buying <b>{0}</b> and selling <b>{1}</b>!<br>
            <br>
            Current order book for {0}:<br>
            <u>Bid: <b>${2}</b></u> Ask: <b>${3}</b><br>
            <br>
            Current order book for {1}:<br>
            Bid: <b>${4}</b> <u>Ask: <b>${5}</b></u><br>
            <br>
            You stand to make a profit of: ${6}<br>

            "
            , buyQuote.SourceExchange, sellQuote.SourceExchange,
            buyQuote.Bid, buyQuote.Ask,
            sellQuote.Bid, sellQuote.Ask,
            sellQuote.Ask - buyQuote.Bid
            );

            smtpProvider.Send(subject, body);
        }
 public override void Tick(TickDataModel tick)
 {
     lastTick = tick;
     lastTick.Ask = 1 / lastTick.Ask;
     //lastTick.Average = 1 / lastTick.Average;
     lastTick.Bid = 1 / lastTick.Bid;
     lastTick.High = 1 / lastTick.High;
     lastTick.Last = 1 / lastTick.Last;
     lastTick.Low = 1 / lastTick.Low;
     dataStore.Save(tick);//TODO: categorize the data by currencywalletpair
 }
Esempio n. 3
0
        public void UpdateQuotes()
        {
            Ticker sourceTicker = mtGoxExchangeAPI.GetTicker(Currency.USD);

            var tick = new TickDataModel();

            tick.SourceExchange = sourceExchange;
            tick.High       = Sanitize(sourceTicker.High    );
            tick.Low        = Sanitize(sourceTicker.Low     );
            tick.Average    = Sanitize(sourceTicker.Average );
            //tick.Volume     = Sanitize(sourceTicker.Volume  );
            tick.Last       = Sanitize(sourceTicker.Last    );
            tick.Bid        = Sanitize(sourceTicker.Bid     );
            tick.Ask = Sanitize(sourceTicker.Ask);

            dataStore.Save(tick);
            lastQuote = tick;

            Thread.Sleep(1000);
            return;
        }
Esempio n. 4
0
        public void UpdateQuotes()
        {
            WebClient client = new WebClient();
            var source = client.DownloadString(getUrl);

            var sourceTicker = JsonConvert.DeserializeObject<CampBXTickerModel>(source);

            var tick = new TickDataModel();

            tick.SourceExchange = sourceExchange;
            //tick.Average= sourceTicker.av
            //tick.Volum;
            tick.Last   = sourceTicker.Last_Trade;
            tick.Bid    = sourceTicker.Best_Bid;
            tick.Ask = sourceTicker.Best_Ask;

            dataStore.Save(tick);
            lastQuote = tick;

            Thread.Sleep(1000);
            return;
        }
Esempio n. 5
0
 public void TradeSignal(Shared.TickDataModel buyQuote, Shared.TickDataModel sellQuote)
 {
     //DO nothing, used for debugging without spamming the recipients
 }
Esempio n. 6
0
 public void Save(TickDataModel data)
 {
     Console.WriteLine("Bid: {1}\t Ask: {0}\t Exchange: {2}", data.Ask.ToString("N2"), data.Bid.ToString("N2"), data.SourceExchange);
 }
Esempio n. 7
0
        private void UpdateQuotes(BTCMarketsSyntheticCurrencyWalletPair pair)
        {
            WebClient client = new WebClient();
            var source1 = client.DownloadString(pair.url);
            var source2 = client.DownloadString(pair.url2);

            var sourceTicker = JsonConvert.DeserializeObject<BTCMarketsTickerModel>(source1);
            var sourceTicker2 = JsonConvert.DeserializeObject<BTCMarketsTickerModel>(source2);

            var tick = new TickDataModel();

            tick.SourceExchange = sourceExchange + " Synthetic BTC/LTC";
            //tick.Average= sourceTicker.av
            //tick.Volum;
            tick.Last = sourceTicker.lastPrice / sourceTicker2.lastPrice;
            tick.Bid = sourceTicker.bestBid / sourceTicker2.bestAsk;
            tick.Ask = sourceTicker.bestAsk / sourceTicker2.bestBid;

            pair.Tick(tick);
            lastQuote = tick;

            return;
        }