Overall Statistics |
Total Trades 2 Average Win 0% Average Loss 0% Compounding Annual Return 1.674% Drawdown 0.500% Expectancy 0 Net Profit 1.557% Sharpe Ratio 1.406 Probabilistic Sharpe Ratio 67.414% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0.008 Annual Variance 0 Information Ratio 1.406 Tracking Error 0.008 Treynor Ratio 0 Total Fees $2.00 Estimated Strategy Capacity $2600000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
namespace QuantConnect.Algorithm.CSharp { public class InteractiveBrokersBrokerageExampleAlgorithm : QCAlgorithm { private Symbol _symbol; public override void Initialize() { SetStartDate(2021, 1, 1); SetCash(100000); SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin); _symbol = AddEquity("SPY", Resolution.Minute, extendedMarketHours: true).Symbol; // Set default order properties DefaultOrderProperties = new InteractiveBrokersOrderProperties { Account = "TestAccount1", // Only for FA accounts FaProfile = "TestProfile1", // Only for FA accounts FaGroup = "TestGroup1", // Only for FA accounts FaMethod = "EqualQuantity", // Only for FA accounts TimeInForce = TimeInForce.GoodTilCanceled, OutsideRegularTradingHours = false }; } public override void OnData(Slice data) { if (Portfolio.Invested) { return; } // Place an order with the default order properties LimitOrder(_symbol, 10, data[_symbol].Price + 10); // Place an order and with new order properties var orderProperties = new InteractiveBrokersOrderProperties { Account = "TestAccount2", // Only for FA accounts FaProfile = "TestProfile2", // Only for FA accounts FaGroup = "TestGroup2", // Only for FA accounts FaMethod = "NetLiq", // Only for FA accounts OutsideRegularTradingHours = true }; var ticket = LimitOrder(_symbol, 10, Math.Round(data[_symbol].Price * 0.9m, 2), orderProperties: orderProperties); // Update the order var updateFields = new UpdateOrderFields { Quantity = 8, LimitPrice = Math.Round(data[_symbol].Price + 10, 2), Tag = "Informative order tag" }; var response = ticket.Update(updateFields); if (!LiveMode && response.IsSuccess) { Debug("Order updated successfully"); } } } }