public void TestTrade_Tick() { string code = "RB1710"; int startDate = 20170601; int endDate = 20170605; IDataForward_Code historyDataForward = ForwardDataGetter.GetHistoryDataForward_Code(code, startDate, endDate, true); historyDataForward.Forward(); IAccount account = DataCenter.Default.AccountManager.CreateAccount(100000, historyDataForward); account.AccountSetting.TradeType = AccountTradeType.MARKETPRICE; account.OnReturnOrder += Account_OnReturnOrder; account.OnReturnTrade += Account_OnReturnTrade; account.Open(code, 3099, market.OrderSide.Buy, 10); account.Open(code, 3095, market.OrderSide.Buy, 10); int index = 0; while (index < 2000) { historyDataForward.Forward(); index++; if (isOpen && historyDataForward.GetTickData().SellPrice >= 3102) { account.Close(code, 3102, market.OrderSide.Sell, 10); account.Close(code, 3105, market.OrderSide.Sell, 10); } //Console.WriteLine(historyDataForward.GetTickData()); } Console.WriteLine(account); Assert.AreEqual(100880, account.Money); }
public void TestAccountSave() { string code = "RB1710"; int startDate = 20170601; int endDate = 20170605; IDataForward_Code historyDataForward = ForwardDataGetter.GetHistoryDataForward_Code(code, startDate, endDate, true); historyDataForward.Forward(); IAccount account = DataCenter.Default.AccountManager.CreateAccount(100000, historyDataForward); account.AccountSetting.TradeType = AccountTradeType.MARKETPRICE; account.OnReturnOrder += Account_OnReturnOrder; account.OnReturnTrade += Account_OnReturnTrade; account.Open(code, 3099, market.OrderSide.Buy, 10); account.Open(code, 3095, market.OrderSide.Buy, 10); int index = 0; while (index < 2000) { historyDataForward.Forward(); index++; if (isOpen && historyDataForward.GetTickData().SellPrice >= 3102) { account.Close(code, 3102, market.OrderSide.Sell, 10); account.Close(code, 3105, market.OrderSide.Sell, 10); } //Console.WriteLine(historyDataForward.GetTickData()); } account.Open(code, 3105, market.OrderSide.Buy, 10); account.Open(code, 3025, market.OrderSide.Buy, 10); for (int i = 0; i < 100; i++) { historyDataForward.Forward(); } XmlElement root = GetXmlRoot(); account.Save(root); Account account2 = (Account)DataCenter.Default.AccountManager.CreateAccount(root); //Console.WriteLine(account); //Console.WriteLine(account2); Assert.AreEqual(XmlUtils.ToString(account), XmlUtils.ToString(account2)); IDataForward_Code historyDataForward2 = ForwardDataGetter.GetHistoryDataForward_Code(code, startDate, endDate, true); historyDataForward2.NavigateTo(account2.Time); account2.BindRealTimeReader(historyDataForward2); //IDataForward_Code historyDataForward2 = account2.DataForward_Code; for (int i = 0; i < 100; i++) { historyDataForward2.Forward(); } Console.WriteLine(account2); }
private static void PrintOnBar(IDataForward_Code klineDataForward) { Console.WriteLine("tick:" + klineDataForward.GetTickData()); Console.WriteLine("1minute:" + klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_1Minute)); Console.WriteLine("5minute:" + klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_5Minute)); Console.WriteLine("15minute:" + klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_15Minute)); Console.WriteLine("1day:" + klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_1Day)); ITimeLineData timeLineData = klineDataForward.GetTimeLineData(); Console.WriteLine("timeline:" + timeLineData); }
private double GetNextTime(IDataForward_Code forward_Code) { ITickData tickData = forward_Code.GetTickData(); if (tickData == null) { return(TIME_END); } int nextBarPos = tickData.BarPos; return(-1); }
public void TestCompareWithReader() { string code = "RB0000"; int start = 20170601; int endDate = 20170605; IDataForward_Code klineDataForward = GetKLineDataForward(code, start, endDate); klineDataForward.Forward(); AddContent_Tick(start, klineDataForward.GetTickData().ToString()); klineDataForward.OnBar += KlineDataForward_OnBar_CompareWithReader; klineDataForward.OnTick += KlineDataForward_OnTick_CompareWithReader; while (klineDataForward.Forward()) { } AssertKLineDataInDic(code, start, endDate); AssertTickDataInDic(code); }
private static void Print(IDataForward_Code klineDataForward) { //Console.WriteLine("DayEnd:" + klineDataForward.IsDayEnd // + "|1MinuteEnd:" + klineDataForward.IsPeriodEnd(KLinePeriod.KLinePeriod_1Minute) // + "|5MinuteEnd:" + klineDataForward.IsPeriodEnd(KLinePeriod.KLinePeriod_5Minute) // + "|15MinuteEnd:" + klineDataForward.IsPeriodEnd(KLinePeriod.KLinePeriod_15Minute) // + "|DayEnd:" + klineDataForward.IsPeriodEnd(KLinePeriod.KLinePeriod_1Day)); KLineData_RealTime klineData_1 = (KLineData_RealTime)klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_1Minute); Console.WriteLine("tick:" + klineDataForward.GetTickData()); Console.WriteLine("1minute:" + klineData_1); Console.WriteLine("1minute_" + klineData_1.GetCurrentBar_Original()); KLineData_RealTime klineData_1Day = (KLineData_RealTime)klineDataForward.GetKLineData(KLinePeriod.KLinePeriod_1Day); Console.WriteLine("1day:" + klineData_1Day); ITimeLineData timeLineData = klineDataForward.GetTimeLineData(); Console.WriteLine("timeline:" + timeLineData); Assert.AreEqual(klineData_1.End, timeLineData.Price); Assert.AreEqual(klineData_1.Mount, timeLineData.Mount); Assert.AreEqual(klineData_1.Hold, timeLineData.Hold); }