| Overall Statistics |
|
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 |
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using QuantConnect.Data.Market;
using QuantConnect.Orders;
using QuantConnect.Orders.Fees;
using QuantConnect.Orders.Fills;
using QuantConnect.Orders.Slippage;
using QuantConnect.Securities;
namespace QuantConnect
{
public class AutomatonTrade : QCAlgorithm
{
private List<string> symbolTracker = new List<string>();
private bool hasBought = false;
public override void Initialize()
{
// Initialize.
this.SetStartDate(2017, 1, 2);
this.SetEndDate(2017, 1, 12);
this.SetCash(1000);
this.SetTimeZone(TimeZones.NewYork);
// Setup brokerage.
this.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin);
// Setup universe.
this.UniverseSettings.Resolution = Resolution.Minute;
// Live universe with selection.
this.AddUniverse(CoarseSelectionFunction);
}
public IEnumerable<Symbol> CoarseSelectionFunction(IEnumerable<CoarseFundamental> coarse)
{
var sortedByDollarVolume = coarse
.Where(x => x.Volume > 1000000)
.OrderBy(x => x.Price)
.ThenByDescending(x => x.DollarVolume)
.ThenByDescending(x => x.Volume);
var top = sortedByDollarVolume.Take(200);
this.Log("CoarseSelectionFunction count: " + top.Count());
return top.Select(x => x.Symbol);
}
public void OnData(TradeBars data)
{
foreach (TradeBar bar in data.Values)
{
var currentBuyingPower = this.Portfolio.GetBuyingPower(bar.Symbol, OrderDirection.Buy);
}
}
private void Log(string message)
{
base.Log(message);
Debug(message);
}
}
}