| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 11.121% Drawdown 2.500% Expectancy 0 Net Profit 0% Sharpe Ratio 1.206 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.071 Beta 0.026 Annual Standard Deviation 0.062 Annual Variance 0.004 Information Ratio -1.006 Tracking Error 0.084 Treynor Ratio 2.843 Total Fees $0.00 |
namespace QuantConnect
{
/*
* Basic Template Algorithm
*
* The underlying QCAlgorithm class has many methods which enable you to use QuantConnect.
* We have explained some of these here, but the full base class can be found at:
* https://github.com/QuantConnect/Lean/tree/master/Algorithm
*/
public class BasicTemplateAlgorithm : QCAlgorithm
{
Stochastic sto;
public override void Initialize()
{
// backtest parameters
SetStartDate(2017, 01, 01);
SetEndDate(2017, 03, 30);
// cash allocation
SetCash(25000);
// request specific equities
// including forex. Options and futures in beta.
// AddEquity("SPY", Resolution.Minute);
AddForex("EURUSD", Resolution.Daily);
sto = STO("EURUSD", 14, 3, 3, Resolution.Daily);
}
/*
* New data arrives here.
* The "Slice" data represents a slice of time, it has all the data you need for a moment.
*/
public override void OnData(Slice data)
{
// slice has lots of useful information
TradeBars bars = data.Bars;
Splits splits = data.Splits;
Dividends dividends = data.Dividends;
//Get just this bar.
TradeBar bar;
if (bars.ContainsKey("EURUSD")) bar = bars["EURUSD"];
if (!Portfolio.HoldStock)
{
// place an order, positive is long, negative is short.
// Order("SPY", quantity);
// or request a fixed fraction of a specific asset.
// +1 = 100% long. -2 = short all capital with 2x leverage.
SetHoldings("EURUSD", 1);
// debug message to your console. Time is the algorithm time.
// send longer messages to a file - these are capped to 10kb
Debug("Purchased EURUSD on " + Time.ToShortDateString());
//Log("This is a longer message send to log.");
}
}
public override void OnEndOfDay()
{
if (!sto.IsReady) return;
Plot("STOCH", sto.StochD, sto.StochK);
}
}
}