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 Probabilistic 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 |
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 { private Security _eurusd; private RelativeStrengthIndex _rsi14; public override void Initialize() { SetBrokerageModel(BrokerageName.OandaBrokerage); // backtest parameters SetStartDate(2016, 1, 1); SetEndDate(DateTime.Now); // cash allocation SetCash(10000); // request specific equities // including forex. Options and futures in beta. _eurusd = AddCfd("EURUSD", Resolution.Minute, Market.Oanda); _rsi14 = RSI(_eurusd.Symbol, 14); } /* * 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; if (_eurusd.Holdings.HoldStock) { ExitLogic(); } else { EntryLogic(); } } private void ExitLogic() { if (_rsi14 == 50) { Liquidate(_eurusd.Symbol); } } private void EntryLogic() { if (_rsi14 > 70) { SetHoldings(_eurusd.Symbol, 1); } if (_rsi14 < 30) { SetHoldings(_eurusd.Symbol, -1); } } } }