| 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.742 Tracking Error 0.179 Treynor Ratio 0 Total Fees $0.00 |
from clr import AddReference
AddReference("System")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Indicators")
AddReference("QuantConnect.Common")
from System import *
from QuantConnect.Data import *
from QuantConnect.Data.Market import *
from QuantConnect.Data.Consolidators import *
from QuantConnect.Algorithm import *
from QuantConnect.Indicators import *
from QuantConnect.Securities import *
from QuantConnect.Orders import *
from datetime import datetime
from System.Drawing import Color
from QuantConnect import *
import decimal as d
import numpy as np
class HMAStrat(QCAlgorithm):
def Initialize(self):
# configuration parameters (configurable inputs into the algorithm)
DEBUG_LOG = str(self.GetParameter("Debug Log")).lower() == "true" or False
SYMBOL = str(self.GetParameter("Symbol"))
HMALENGTH = int(self.GetParameter("HMA Length")) or 50
self.ORDER_MAP = ["Market", "Limit", "StopMarket", "StopLimit", "MarketOnOpen", "MarketOnClose", "OptionExercise"]
self.DEBUG = DEBUG_LOG
# initialization
self.SetStartDate(2020, 9, 8)
self.SetEndDate(2020, 10, 9)
self.SetCash(100000)
self.stock = self.AddEquity(SYMBOL, Resolution.Hour, Market.USA, True, 1, True)
self.hma = self.HMA(SYMBOL, 20, Resolution.Hour)
stockPlot = Chart('Stock Plot')
stockPlot.AddSeries(Series('PriceOpen', SeriesType.Scatter, '$', Color.Green, ScatterMarkerSymbol.Circle))
stockPlot.AddSeries(Series('PriceHigh', SeriesType.Scatter, '$', Color.Green, ScatterMarkerSymbol.Triangle))
stockPlot.AddSeries(Series('PriceLow', SeriesType.Scatter, '$', Color.Green, ScatterMarkerSymbol.TriangleDown))
stockPlot.AddSeries(Series('PriceClose', SeriesType.Line, '$', Color.Green, ScatterMarkerSymbol.Square))
stockPlot.AddSeries(Series('HMA', SeriesType.Line, '$', Color.Gray))
self.AddChart(stockPlot)
self.lastPrice = 0.0
self.pl = 0.0
self._lo = None
self.SetWarmup(HMALENGTH, Resolution.Hour)
def OnData(self, data):
# if we're not ready to trade, skip this run
if self.IsWarmingUp:
return
self.Plot('Stock Plot', 'PriceOpen', float(data[self.stock.Symbol].Open))
self.Plot('Stock Plot', 'PriceHigh', float(data[self.stock.Symbol].High))
self.Plot('Stock Plot', 'PriceLow', float(data[self.stock.Symbol].Low))
self.Plot('Stock Plot', 'PriceClose', float(data[self.stock.Symbol].Close))
hma = float(self.hma.ToString())
self.Plot('Stock Plot', 'HMA', Math.Round(hma, 2))