| 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.557 Tracking Error 0.202 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
#region imports
from AlgorithmImports import *
#endregion
import clr
clr.AddReference("QuantConnect.Common")
clr.AddReference("QuantConnect.Algorithm")
clr.AddReference("QuantConnect.Indicators")
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Indicators import *
class Nasdaq100Strategy(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2022, 1, 1)
self.SetEndDate(2022, 12, 31)
self.SetCash(100000)
self.AddFuture("ND")
self.buy = False
self.sell = False
self.short = False
self.exit = False
self.buy_price = 0
self.short_price = 0
self.count = 0
def OnData(self, data):
if not self.Portfolio.Invested:
if data["ND"].Close < data["ND"].Close[1]:
self.buy = True
self.buy_price = data["ND"].Close
self.count = 0
elif self.Portfolio.Invested:
self.count += 1
if data["ND"].Close > self.buy_price:
self.Sell("ND", 1)
self.buy = False
self.exit = True
elif self.count > 4 and data["ND"].Close > data["ND"].Close[1]:
self.short = True
self.short_price = data["ND"].Close
self.count = 0
elif self.short and self.count > 4 + 2:
if data["ND"].Close < self.short_price:
self.Sell("ND", 1)
self.short = False
self.exit = True
if self.buy:
self.Buy("ND", 1)
if self.short:
self.Sell("ND", 1)