public static void Add(int SL, int Algo, double Price, double SpeedLimit, Pool PoolInfo, int OrderID, double StartPrice, double StartAmount, string HandlerFile)
 {
     OrderContainer OC = new OrderContainer(SL, Algo, Price, SpeedLimit, PoolInfo, OrderID, StartPrice, StartAmount, HandlerFile);
     OC.Launch();
     OrderList.Add(OC);
     Commit();
 }
 public static void Add(int SL, int Algo, double Price, double SpeedLimit, Pool PoolInfo)
 {
     OrderContainer OC = new OrderContainer(SL, Algo, Price, SpeedLimit, PoolInfo);
     OC.Launch();
     OrderList.Add(OC);
     Commit();
 }
 public static void Add(string Label, string Host, int Port, string User, string Pass)
 {
     Pool P = new Pool();
     P.Label = Label;
     P.Host = Host;
     P.Password = Pass;
     P.User = User;
     P.Port = Port;
     PoolList.Add(P);
     Commit();
 }
 public OrderContainer(int SL, int Algo, double Price, double SpeedLimit, Pool PoolInfo, int OrderID, double StartPrice, double StartAmount, string HandlerFile)
 {
     ServiceLocation = SL;
     Algorithm = Algo;
     MaxPrice = Price;
     Limit = SpeedLimit;
     PoolData = PoolInfo;
     ID = OrderID;
     StartingAmount = StartAmount;
     StartingPrice = StartPrice;
     HandlerDLL = HandlerFile;
 }
 public OrderContainer(int SL, int Algo, double Price, double SpeedLimit, Pool PoolInfo)
 {
     ServiceLocation = SL;
     Algorithm = Algo;
     MaxPrice = Price;
     Limit = SpeedLimit;
     PoolData = PoolInfo;
     ID = 0;
     StartingAmount = 0.01;
     StartingPrice = 0.001;
     HandlerDLL = "";
 }
        /// <summary>
        /// Create new order instance. This instance actively monitors order and adjusts price on-fly to keep order competitive at all times.
        /// </summary>
        /// <param name="SL">Service location; 0 for NiceHash, 1 for WestHash.</param>
        /// <param name="Algo">Algorithm number.</param>
        /// <param name="MaximalPrice">Maximal allowed order price.</param>
        /// <param name="Limit">Order limit in GH/s (TH/s for Algorithm 1 - SHA256). 0 for unlimited.</param>
        /// <param name="PoolInfo">Pool information.</param>
        /// <param name="ID">Optional - If monitoring existing order, set this to order ID.</param>i
        /// <param name="Price">Optional starting price.</param>
        /// <param name="StartingAmount">Optional starting amount in BTC.</param>
        public OrderInstance(int SL, int Algo, double MaximalPrice, double Limit, Pool PoolInfo, int ID = 0, double Price = 0.001, double Amount = 0.01)
        {
            CanRun = true;
            ServiceLocation = SL;
            Algorithm = Algo;
            MaxPrice = MaximalPrice;
            StartLimit = Limit;
            PoolData = PoolInfo;
            OrderID = ID;
            StartingPrice = Price;
            StartingAmount = Amount;
            DecreaseTime = DateTime.Now - APIWrapper.PRICE_DECREASE_INTERVAL;

            OrderThread = new Thread(ThreadRun);
            OrderThread.Start();
        }