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); } }
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); } }
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)); }
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); } }
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); } }
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); } }
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); }
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); }
//计算该价格下最大可买数量 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))); }
public void AddFee_Code(TradeFee_Code feeContract) { mapFee.Add(feeContract.Code, feeContract); }
public TradeFee(TradeFee_Code defaultFee) { this.defaultFee = defaultFee; }
public TradeFee() { this.defaultFee = new TradeFee_Code(null, 10, 1, 3, 3, false, 10); }
public void AddCodeFee(TradeFee_Code fee) { this.codes.Add(fee.Code); this.dic_Code_Fee.Add(fee.Code, fee); }
public void AddVarietyFee(TradeFee_Code fee) { this.varieties.Add(fee.Code); this.dic_Variety_Fee.Add(fee.Code, fee); }