Example #1
0
        public void Save(XmlElement elem)
        {
            XmlElement defaultElem = elem.OwnerDocument.CreateElement("defaultfee");

            elem.AppendChild(defaultElem);
            defaultFee.Save(defaultElem);

            XmlElement varietyElem = elem.OwnerDocument.CreateElement("varietyfee");

            elem.AppendChild(varietyElem);
            foreach (string code in varieties)
            {
                XmlElement feeElem = varietyElem.OwnerDocument.CreateElement("fee");
                varietyElem.AppendChild(feeElem);
                TradeFee_Code tradeFee = dic_Variety_Fee[code];
                tradeFee.Save(feeElem);
            }

            XmlElement codeElem = elem.OwnerDocument.CreateElement("codefee");

            elem.AppendChild(codeElem);
            foreach (string code in codes)
            {
                XmlElement feeElem = varietyElem.OwnerDocument.CreateElement("fee");
                codeElem.AppendChild(feeElem);
                TradeFee_Code tradeFee = dic_Code_Fee[code];
                tradeFee.Save(feeElem);
            }
        }
Example #2
0
        public void Load(XmlElement elem)
        {
            XmlElement elemDefault = (XmlElement)elem.GetElementsByTagName("defaultfee")[0];

            this.defaultFee.Load(elemDefault);


            XmlElement  elemVariety = (XmlElement)elem.GetElementsByTagName("varietyfee")[0];
            XmlNodeList list        = elemVariety.ChildNodes;

            foreach (Object obj in list)
            {
                XmlElement    subElem  = (XmlElement)obj;
                TradeFee_Code fee_Code = new TradeFee_Code();
                fee_Code.Load(subElem);
                this.AddVarietyFee(fee_Code);
            }

            XmlElement elemCode = (XmlElement)elem.GetElementsByTagName("codefee")[0];

            list = elemCode.ChildNodes;
            foreach (Object obj in list)
            {
                XmlElement    subElem  = (XmlElement)obj;
                TradeFee_Code fee_Code = new TradeFee_Code();
                fee_Code.Load(subElem);
                this.AddCodeFee(fee_Code);
            }
        }
Example #3
0
        private double CalcTradeMoney(String code, double price, int hand, OpenCloseType openCloseType)
        {
            TradeFee_Code tradeFee = account.GetTradeFee_Code(code);
            //交易费用
            double handFee = tradeFee.BuyFee;

            return(hand * (price * tradeFee.HandCount * (tradeFee.DepositPercent / 100) + handFee));
        }
Example #4
0
 public void Save(XmlElement elem)
 {
     foreach (string code in mapFee.Keys)
     {
         XmlElement subElem = elem.OwnerDocument.CreateElement("tradefee");
         elem.AppendChild(subElem);
         TradeFee_Code tradeFee = mapFee[code];
         tradeFee.Save(subElem);
     }
 }
Example #5
0
 public void Save(List <string> codes, XmlElement xmlElem)
 {
     foreach (string code in codes)
     {
         XmlElement subElem = xmlElem.OwnerDocument.CreateElement("tradefee");
         xmlElem.AppendChild(subElem);
         TradeFee_Code tradeFee = mapFee[code];
         tradeFee.Save(subElem);
     }
 }
Example #6
0
        public void Load(XmlElement elem)
        {
            XmlNodeList list = elem.ChildNodes;

            foreach (Object obj in list)
            {
                XmlElement    subElem  = (XmlElement)obj;
                TradeFee_Code fee_Code = new TradeFee_Code();
                fee_Code.Load(subElem);
                mapFee.Add(fee_Code.Code, fee_Code);
            }
        }
Example #7
0
        public object Clone()
        {
            TradeFee_Code fee_Code = new TradeFee_Code();

            fee_Code.code           = this.code;
            fee_Code.handCount      = this.handCount;
            fee_Code.minPriceChange = this.minPriceChange;
            fee_Code.buyFee         = this.buyFee;
            fee_Code.sellFee        = this.sellFee;
            fee_Code.isPercent      = this.isPercent;
            fee_Code.depositPercent = this.depositPercent;
            return(fee_Code);
        }
Example #8
0
        public TradeFee_Code GetFee(String code)
        {
            if (!mapFee.ContainsKey(code))
            {
                return(defaultFee);
            }
            TradeFee_Code fee = mapFee[code];

            if (fee == null)
            {
                if (defaultFee != null)
                {
                    fee = defaultFee;
                }
                else
                {
                    throw new ApplicationException("没有合约" + code + "的交易信息");
                }
            }
            return(fee);
        }
Example #9
0
        //计算该价格下最大可买数量
        private int GetMaxCanBuy(String code, double price, double percent)
        {
            TradeFee_Code tradeFee = account.GetTradeFee_Code(code);

            return((int)(this.account.Money * percent / 100 / (price * tradeFee.HandCount * (tradeFee.DepositPercent / 100) + tradeFee.BuyFee)));
        }
Example #10
0
 public void AddFee_Code(TradeFee_Code feeContract)
 {
     mapFee.Add(feeContract.Code, feeContract);
 }
Example #11
0
 public TradeFee(TradeFee_Code defaultFee)
 {
     this.defaultFee = defaultFee;
 }
Example #12
0
 public TradeFee()
 {
     this.defaultFee = new TradeFee_Code(null, 10, 1, 3, 3, false, 10);
 }
Example #13
0
 public void AddCodeFee(TradeFee_Code fee)
 {
     this.codes.Add(fee.Code);
     this.dic_Code_Fee.Add(fee.Code, fee);
 }
Example #14
0
 public void AddVarietyFee(TradeFee_Code fee)
 {
     this.varieties.Add(fee.Code);
     this.dic_Variety_Fee.Add(fee.Code, fee);
 }