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
-2.045
Tracking Error
0.143
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
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/sh/q30ws9w6dv1wo09/AABEtpaYQLO-5hjJzOIDkQiba?dl=1";
   
	}
		 
	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;
		}	
	}
    		
}
namespace QuantConnect.Algorithm.CSharp
{
    public class IKFbot : QCAlgorithm
    {
    	private Signal tradeSignal; 
    	private const string Symbol = "USO";
    	private SimpleMovingAverage sma;
    	private SimpleMovingAverage smanow;

        public override void Initialize()
        {
            SetStartDate(2020, 9, 6);  //Set Start Date
            SetEndDate(2021, 9, 20);
            SetCash(100000);             //Set Strategy Cash
            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);
					
					}
			
				}
			}
		}
	}


}