コード例 #1
0
ファイル: TradeService.cs プロジェクト: Zeghs/ZeroSystem
		internal TradeService() {
			__cQueue = new Queue<ResponseEvent>(64);
			__cCloses = new SimpleBoundList<_TradeInfo>(512);
			__cOpens = new TradeBoundList(64);
			__cTrusts = new TradeBoundList(32);

			__cTimer = new Timer();
			__cTimer.Elapsed += Timer_onElapsed;
			__cTimer.AutoReset = false;
			__cTimer.Interval = 500;
		}
コード例 #2
0
        internal static void Save(TradeBoundList openTrades, HistoryBoundList history, string file)
        {
            int iIndex = file.LastIndexOf(".");

            if (iIndex > -1)
            {
                string sOpenFile  = file.Substring(0, iIndex) + "_open.csv";
                string sCloseFile = file.Substring(0, iIndex) + "_close.csv";

                File.WriteAllText(sOpenFile, ProcessOpenTrades(openTrades), Encoding.UTF8);
                File.WriteAllText(sCloseFile, ProcessHistorys(history), Encoding.UTF8);
            }
        }
コード例 #3
0
        private static string ProcessOpenTrades(TradeBoundList trades)
        {
            StringBuilder cBuilder = new StringBuilder(1024 * 1024);

            cBuilder.Append("NO.").Append(',').Append("SymbolID").Append(',').Append("Category").Append(',').Append("Action").Append(',').Append("Volume").Append(',').Append("Price").Append(',').Append("Profit").Append(',').Append("Fee").Append(',').Append("Tax").Append(',').Append("Trading time").Append(',').AppendLine("Description");

            int iCount = trades.Count - 1;              //開倉資料用來小計總合放在最後一筆

            for (int i = 0; i < iCount; i++)
            {
                _TradeInfo cTrade = trades.GetItemAt(i);
                cBuilder.Append(cTrade.Ticket).Append(',').Append(cTrade.SymbolId).Append(',').Append(cTrade.Category).Append(',').Append(cTrade.Action).Append(',').Append(cTrade.Contracts).Append(',').Append(cTrade.Price).Append(',').Append(cTrade.Profit).Append(',').Append(cTrade.Fee).Append(',').Append(cTrade.Tax).Append(',').Append(cTrade.Time).Append(',').AppendLine(cTrade.Comment);
            }
            return(cBuilder.ToString());
        }
コード例 #4
0
ファイル: JsonReport.cs プロジェクト: mirror222/ZeroSystem
        private static string ProcessOpenTrades(TradeBoundList trades)
        {
            int iCount = trades.Count - 1;              //開倉資料用來小計總合放在最後一筆

            if (iCount > 0)
            {
                _TradeInfo[] cItems = new _TradeInfo[iCount];
                for (int i = 0; i < iCount; i++)
                {
                    cItems[i] = trades.GetItemAt(i);
                }

                return(JsonConvert.SerializeObject(cItems, Formatting.Indented));
            }
            return("[]");
        }
コード例 #5
0
ファイル: TradeService.cs プロジェクト: mirror222/ZeroSystem
        internal TradeService()
        {
            __cQueue  = new Queue <ResponseEvent>(64);
            __cCloses = new HistoryBoundList(512);
            __cOpens  = new TradeBoundList(64, true);
            __cTrusts = new TradeBoundList(32);

            __cTradeTimer           = new Timer();
            __cTradeTimer.Elapsed  += TradeTimer_onElapsed;
            __cTradeTimer.AutoReset = false;
            __cTradeTimer.Interval  = 500;

            __cUpdateTimer           = new Timer();
            __cUpdateTimer.Elapsed  += UpdateTimer_onElapsed;
            __cUpdateTimer.AutoReset = false;
            __cUpdateTimer.Interval  = 500;
        }