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
-4.707
Tracking Error
0.272
Treynor Ratio
0
Total Fees
$0.00
namespace QuantConnect 
{   
    public class BasicTemplateAlgorithm : QCAlgorithm
    {
    	private Signal tradeSignal;
    	private const string Symbol = "USD";
    	private SimpleMovingAverage sma;
    	private SimpleMovingAverage smanow;
    	
        public override void Initialize()
        {
            // Start and End Date range for the backtest:
            SetStartDate(2020, 05, 15);  //Set Start Date
            SetEndDate(2020, 06, 19);  //Set End Date
            
            // cash allocation
            SetCash(100000);
            
            // Add as many securities as you like. All the data will be passed into the event handler::
            AddSecurity(SecurityType.Equity, Symbol, Resolution.Minute, false, 2, false);
            
            AddData<Signal>("SignalStrength", Resolution.Minute);
            
            sma = SMA(Symbol, 5, Resolution.Daily);
            smanow = SMA(Symbol, 1, Resolution.Daily);
        }

	public void onData(Signal data){
		tradeSignal = data;
	}
	
	public void OnData(TradeBars data){
	
	if(!sma.IsReady) return;
	
	var holdings = Portfolio[Symbol].Quantity;
	
		if (tradeSignal != null){
			if ((tradeSignal.Sig1m > 0 && smanow > sma) || (tradeSignal.Sig1m < 0 && smanow < sma)){
				if (tradeSignal.Sig3d > 0 && holdings <=0){
				SetHoldings(Symbol, 1.0);
				}
				if (tradeSignal.Sig3d < 0 && holdings >=0){
				SetHoldings(Symbol, -1.0);
				}
			}
		}
	}
    }
}
namespace QuantConnect {

    public class Signal : BaseData
	{
		public decimal Sig3d = 0;
		public decimal Sig1m = 0;
		
	public override string GetSource(SubscriptionDataConfig config, DateTime date, DataFeedEndpoint datafeed){
		return "https://www.dropbox.com/s/gzde6jsllzotxgv/QEPsignals%281%29.csv?dl=0";
	}
	
	public override BaseData Reader(SubscriptionDataConfig config, string line, DateTime date,DataFeedEndpoint datafeed){
		Signal signal = new Signal();
		try{
			string[] data = line.Split(',');
			signal.Time = DateTime.Parse(data[0]);
			signal.Sig3d = Convert.ToDecimal(data[1]);
			signal.Sig1m = Convert.ToDecimal(data[2]);
		}
		catch (Exception){
			return null;
		}
		return signal;
	}
	}
}