| 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.156 Tracking Error 0.231 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
import numpy as np
from System.Drawing import Color
from clr import AddReference
AddReference("System")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Common")
from datetime import date, timedelta, datetime, time
from System import *
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Indicators import *
from QuantConnect.Data.Market import TradeBar
import decimal as d
class VerticalTransdimensionalCoreWave(QCAlgorithm):
def Initialize(self):
self.SetTimeZone("America/New_York")
self.SetStartDate(2021, 7, 16)
self.SetEndDate(2021, 7, 20)
stock = "QQQ"
self.STOCK = self.AddEquity(stock, Resolution.Minute)
self.SetCash(10000) # Set Strategy Cash
self.SetWarmUp(100)
self.Firststock = stock
self.Percent = self.ROCP(self.Firststock, 1, Resolution.Minute)
self.VolumeSet = self.SMA(self.Firststock, 1, Resolution.Minute, Field.Volume)
self.Percent.Updated += self.UpdateVolumeSet
#Plotting****************************************************************
stockPlot = Chart("Trade Plot")
stockPlot.AddSeries(Series("Price Close", SeriesType.Line, 0))
stockPlot.AddSeries(Series('Buy', SeriesType.Scatter, '$', Color.Green, ScatterMarkerSymbol.Triangle))
stockPlot.AddSeries(Series('Sell', SeriesType.Scatter, '$', Color.Red, ScatterMarkerSymbol.TriangleDown))
self.AddChart(stockPlot)
def UpdateVolumeSet(self, sender, updated):
if not self.Percent.IsReady:
return
if self.Percent.Current.Value < 0:
self.VolumeSet.Update(self.Time, -1*(updated.Value))
else:
self.VolumeSet.Update(self.Time, (updated.Value))
if not self.VolumeSet.IsReady:
return
def MAUpdated(self, sender, updated):
self.MAWindow.Add(updated.Value)
def OnData(self, data):
if self.IsWarmingUp: return
if self.CurrentSlice.Bars.ContainsKey(self.Firststock):
self.Price = data[self.Firststock].Value
#Plotting******************************************************************
self.Plot("Trade Plot", "Price Close", self.Price)
self.Plot("Volume", "Volume", self.Securities[self.Firststock].Volume)
self.Plot("Volume", "VolumeSet", self.VolumeSet.Current.Value)