Overall Statistics |
Total Trades 50 Average Win 0% Average Loss 0% Compounding Annual Return -99.934% Drawdown 1.000% Expectancy 0 Net Profit 0% Sharpe Ratio NaN Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha NaN Beta NaN Annual Standard Deviation NaN Annual Variance NaN Information Ratio NaN Tracking Error NaN Treynor Ratio NaN Total Fees $50.00 |
namespace QuantConnect { public partial class TestingAlgo : QCAlgorithm { private static string[] Symbols = { "AIG", "BAC", "IBM", "SPY" }; int counter; public override void Initialize() { SetStartDate(2013, 10, 7); SetEndDate(2013, 10, 7); SetCash(25000); foreach (var symbol in Symbols) { AddSecurity(SecurityType.Equity, symbol, Resolution.Minute); } counter = 0; } public void OnData(TradeBars data) { if (counter % 30 == 0) { foreach (var symbol in Symbols) { Buy(symbol, 10); //LimitOrder(symbol, 10, data[symbol].High * 1.01m); } } counter++; } public override void OnOrderEvent(OrderEvent orderEvent) { string orderStatusLog; string logText; switch (orderEvent.Status) { case OrderStatus.New: orderStatusLog = " was created."; break; case OrderStatus.Submitted: orderStatusLog = " was submitted."; break; case OrderStatus.PartiallyFilled: orderStatusLog = string.Format(" was partially filled with {0} shares of {1}, at ${2}.", orderEvent.FillQuantity, Transactions.GetOrderById(orderEvent.OrderId).Quantity, orderEvent.FillPrice ); break; case OrderStatus.Filled: orderStatusLog = string.Format(" was filled at ${0}.", orderEvent.FillPrice ); break; case OrderStatus.Canceled: orderStatusLog = " was cancelled."; break; case OrderStatus.None: orderStatusLog = " doesn't give a #$@!"; break; case OrderStatus.Invalid: orderStatusLog = " is invalid."; break; default: orderStatusLog = "!"; break; } logText = string.Format("{0} : {1} {2} Order Id {3} of {4}", Time, orderEvent.Direction, Transactions.GetOrderById(orderEvent.OrderId).Type, orderEvent.OrderId, orderEvent.Symbol ) + orderStatusLog; Log(logText); } } }