コード例 #1
0
        /*public ZCurrencyPair(string symbol, CryptoExch exchange)
         * {
         *  ExchangeSymbol = symbol;
         *  Exchange = exchange;
         *  var lr = GetLeftRight(symbol, exchange);
         *  Left = lr[0];
         *  Right = lr[1];
         * }*/


        // Given a currency-pair symbol and an exchange
        // Return the ZCurrencyPair for that symbol/exchange combo
        public static ZCurrencyPair FromSymbol(string symbol, CryptoExch exchange)
        {
            ZCurrencyPair zcp;

            if (exchange == CryptoExch.KRAKEN)
            {
                zcp = ParseKrakenSymbol(symbol);
            }
            else if (exchange == CryptoExch.BITFLYER)
            {
                zcp = ParseBitFlyerSymbol(symbol);
            }
            else
            {
                var lr = GetLeftRight(symbol, exchange);
                if (lr == null)
                {
                    return(null);
                }
                else
                {
                    zcp        = new ZCurrencyPair();
                    zcp.Symbol = lr[0] + "_" + lr[1];
                    zcp.Left   = lr[0];
                    zcp.Right  = lr[1];
                    zcp.ExchangeSpecificSymbol = symbol;
                    zcp.ExchangeSpecificLeft   = zcp.Left;
                    zcp.ExchangeSpecificRight  = zcp.Right;
                }
            }

            //if (zcp != null) dout("ZCurrencyPair::FromSymbol=> {0}", zcp.ToString());

            return(zcp);
        }
コード例 #2
0
 public static OrderTimeInForce TimeInForce(string s, CryptoExch exch)
 {
     if (exch == CryptoExch.GDAX)
     {
         return(s == "GTC" ? OrderTimeInForce.GTC : OrderTimeInForce.Day);
     }
     else if (exch == CryptoExch.BINANCE)
     {
         return(s == "gtc" ? OrderTimeInForce.GTC : OrderTimeInForce.Day);
     }
     else
     {
         throw new ArgumentException(string.Format("Crypto::Translate::TimeInForce=> exchange {0} not supported", exch));
     }
 }
コード例 #3
0
 public static OrderSide Side(string s, CryptoExch exch)
 {
     if (exch == CryptoExch.GDAX)
     {
         return(s == "buy" ? OrderSide.Buy : OrderSide.Sell);
     }
     else if (exch == CryptoExch.BINANCE)
     {
         return(s == "BUY" ? OrderSide.Buy : OrderSide.Sell);
     }
     else if (exch == CryptoExch.BITTREX)
     {
         return(s == "BUY" ? OrderSide.Buy : OrderSide.Sell);
     }
     else
     {
         throw new ArgumentException(string.Format("Crypto::Translate::Side=> exchange {0} not supported", exch));
     }
 }
コード例 #4
0
 public static OrderStatus Status(string s, CryptoExch exch)
 {
     if (exch == CryptoExch.KRAKEN)
     {
         return(m_statusKraken[s]);
     }
     else if (exch == CryptoExch.GDAX)
     {
         return(m_statusGDAX[s]);
     }
     else if (exch == CryptoExch.BINANCE)
     {
         return(m_statusBinance[s]);
     }
     else
     {
         return(OrderStatus.Unknown);
     }
 }
コード例 #5
0
 public TickersUpdateArgs(CryptoExch exch, Dictionary <string, ZTicker> tickers)
 {
     m_exch    = exch;
     m_tickers = tickers;
 }
コード例 #6
0
ファイル: ZTrade.cs プロジェクト: mdhatmaker/Trading-onechain
 public TradeUpdateArgs(CryptoExch exch, ZTrade trade)
 {
     m_exch = exch;
     m_trade = trade;
 }
コード例 #7
0
 public ZCandlestickMap(CryptoExch exch, string symbol, string interval)
 {
     m_exch     = exch;
     m_symbol   = symbol;
     m_interval = interval;
 }
コード例 #8
0
ファイル: ZOrder.cs プロジェクト: mdhatmaker/Trading-onechain
 public OrdersUpdateArgs(CryptoExch exch, ZOrderMap orders)
 {
     m_exch   = exch;
     m_orders = orders;
 }
コード例 #9
0
        // Given a symbol (ex: "BCCUSDT") and a CryptoExch exchange enum
        // Return a string[2] where string[0]=LeftCurrency and string[1]=RightCurrency
        private static string[] GetLeftRight(string symbol, CryptoExch exchange)
        {
            string[] result = new string[2];
            int      i, l;

            switch (exchange)
            {
            case CryptoExch.BINANCE:
            case CryptoExch.BITFINEX:
            //case CryptoExch.BITMEX:
            case CryptoExch.BITSTAMP:
            case CryptoExch.HITBTC:
            case CryptoExch.GEMINI:
            case CryptoExch.ITBIT:
                l = symbol.Length;
                if (symbol.ToUpper().EndsWith("USDT"))
                {
                    result[1] = "USDT";
                    result[0] = symbol.Substring(0, l - 4).ToUpper();
                }
                else
                {
                    result[1] = symbol.Substring(l - 3).ToUpper();
                    result[0] = symbol.Substring(0, l - 3).ToUpper();
                }
                break;

            /*case CryptoExch.BITHUMB:
             *  i = symbol.IndexOf("/");
             *  result[0] = symbol.Substring(0, i).ToUpper();
             *  result[1] = symbol.Substring(i + 1).ToUpper();
             *  break;*/
            case CryptoExch.BITTREX:
                i         = symbol.IndexOf("-");
                result[1] = symbol.Substring(0, i).ToUpper();
                result[0] = symbol.Substring(i + 1).ToUpper();
                break;

            /*case CryptoExch.BITSQUARE:
             *  i = symbol.IndexOf("_");
             *  result[0] = symbol.Substring(0, i).ToUpper();
             *  result[1] = symbol.Substring(i + 1).ToUpper();
             *  break;*/
            case CryptoExch.GDAX:
                i         = symbol.IndexOf("-");
                result[0] = symbol.Substring(0, i).ToUpper();
                result[1] = symbol.Substring(i + 1).ToUpper();
                break;

            case CryptoExch.POLONIEX:
                i         = symbol.IndexOf("_");
                result[1] = symbol.Substring(0, i).ToUpper();
                result[0] = symbol.Substring(i + 1).ToUpper();
                break;

            /*case CryptoExch.KRAKEN:
             *  string universalSymbol = ParseKrakenSymbol(symbol, out var left, out var right);
             *  break;*/
            default:
                ErrorMessage("No valid translation for '{0}' on exchange {1}", symbol, exchange.ToString());
                break;
            }
            return(result);
        }