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
-9.647
Tracking Error
0.101
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
using System;
using System.Collections.Generic;
using System.Linq;
using QuantConnect.Data.Fundamental;
using QuantConnect.Data.UniverseSelection;
using QuantConnect.Securities;
using static System.DateTime;
using System;
using System.Collections.Generic;
using System.Linq;
using QuantConnect.Data;
using QuantConnect.Data.Custom;
using QuantConnect.Data.Market;
using QuantConnect.Indicators;
using QuantConnect.Securities.Equity;
using QuantConnect.Interfaces;





namespace QuantConnect
{
    /// <summary>
    /// Basic template algorithm simply initializes the date range and cash
    /// </summary>
    public class DailyIdentityAlgorithm : QCAlgorithm
    {

        
        ////////////////////////////////////// SPY VARIABLES //////////////////////////////////////////////////
        private Symbol _spy = QuantConnect.Symbol.Create("SPY", SecurityType.Equity, Market.USA);
        private SimpleMovingAverage _sma_spy;
        private Identity _identity_spy;
        ////////////////////////////////////// AIG VARIABLES //////////////////////////////////////////////////
        private Symbol _aig = QuantConnect.Symbol.Create("AIG", SecurityType.Equity, Market.USA);
        private SimpleMovingAverage _sma_aig;
        private Identity _identity_aig; 
        ////////////////////////////////////// BTX VARIABLES //////////////////////////////////////////////////
        private Symbol _btx = QuantConnect.Symbol.Create("BTX", SecurityType.Equity, Market.USA);
        private SimpleMovingAverage _sma_btx;
        private Identity _identity_btx;


        /// <summary>
        /// Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.
        /// </summary>
        public override void Initialize()
        {
            SetStartDate(2021, 03 ,24);   //Set Start Date
            SetEndDate(2021, 08, 27);       //Set End Date
            SetCash(Convert.ToDouble(GetParameter("cash")));   //Set Strategy Cash
            double cash = Convert.ToDouble(GetParameter("cash"));
            double perActionFunds= Convert.ToDouble(GetParameter("per action fund"));
            
   //////////////////////// Manual Universe Selection ///////////////////////////////////////////////////////////////       
            
            ////////////////////////////////////// SPY VARIABLES INITIALIZAZTION //////////////////////////////////////////////////
            AddEquity("SPY", Resolution.Minute);
            _sma_spy = SMA("SPY", 60, Resolution.Daily, x => ((TradeBar)x).Volume);
            _identity_spy = Identity("SPY", Resolution.Daily, Field.High);
            ////////////////////////////////////// AIG VARIABLES INITIALIZAZTION //////////////////////////////////////////////////
            AddEquity("AIG", Resolution.Minute);
            _sma_aig = SMA("AIG", 60, Resolution.Daily, x => ((TradeBar)x).Volume);
            _identity_aig = Identity("AIG", Resolution.Daily, Field.High);
            ////////////////////////////////////// BTX VARIABLES INITIALIZAZTION //////////////////////////////////////////////////
            AddEquity("BTX", Resolution.Minute);
            _sma_btx = SMA("BTX", 60, Resolution.Daily, x => ((TradeBar)x).Volume);
            _identity_btx = Identity("BTX", Resolution.Daily, Field.High);

            
            
            

 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    
        
            
            // schedule an event to fire every trading day for a security
            // the time rule here tells it to fire 10 minutes before SPY's market close
            bool liquidate = Convert.ToBoolean(GetParameter("liquidate"));
            if (liquidate = true){
            Schedule.On(DateRules.EveryDay("SPY"), TimeRules.BeforeMarketClose("SPY", 10), () => //Don't have to change it for  every instrument in the portfolio
             {
            	Liquidate();//Liquidate entire portfolio
             });
            
            }
            
                  
            

        
            
            
            
            
            SetWarmUp(TimeSpan.FromDays(1));
            
        }
        
        

        
        

        /// <summary>
        /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
        /// </summary>
        /// <param name="data">Slice object keyed by symbol containing the stock data</param>
        public override void OnData(Slice data)
        {
         TradeBars bars = data.Bars;
         
         
         ////// JUST FOR SPY VOLUME ///////////////////////////////////
         //Debug("60d volume "+_sma_spy.Current.Value);
         //Debug("Current Volume "+bars["SPY"].Volume);
         ///////////////////////////////////////////////////
         
         
         if (data.ContainsKey("SPY") && bars["SPY"].Price > _identity_spy.Current.Value && _identity_spy.IsReady){
         	Debug("Current SPY price "+bars["SPY"].Price);
         	Debug("Current HOD SPY price "+_identity_spy.Current.Value);
         	
         	//SetHoldings("SPY",0.1);
         }
        
        
         if (data.ContainsKey("AIG") && bars["AIG"].Price > _identity_aig.Current.Value && _identity_aig.IsReady){
         	Debug("Current AIG price "+bars["AIG"].Price);
         	Debug("Current HOD AIG price "+_identity_aig.Current.Value);
         	//SetHoldings("AIG",0.1);
         }
         
         /*
         if (data.ContainsKey("BTX") && bars["BTX"].Price > _identity_btx.Current.Value && _identity_btx.IsReady){
         	Debug("Current BTX price "+bars["BTX"].Price);
         	Debug("Current HOD BTX price "+_identity_btx.Current.Value);
         	//SetHoldings("BTX",0.1);
         }
         */
        
        	
        	
        	
        	
        
        }//closes OnData
	    
    }
        	
}