| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 263.209% Drawdown 2.200% Expectancy 0 Net Profit 1.663% Sharpe Ratio 4.41 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.007 Beta 76.134 Annual Standard Deviation 0.192 Annual Variance 0.037 Information Ratio 4.354 Tracking Error 0.192 Treynor Ratio 0.011 Total Fees $3.29 |
import numpy as np
from Signal import Signal
from html import escape # python 3.x
import sys
### <summary>
### Basic template algorithm simply initializes the date range and cash. This is a skeleton
### framework you can use for designing an algorithm.
### </summary>
class BasicTemplateAlgorithm(QCAlgorithm):
'''Basic template algorithm simply initializes the date range and cash'''
def Initialize(self):
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''
self.SetStartDate(2013,10, 7) #Set Start Date
self.SetEndDate(2013,10,11) #Set End Date
self.SetCash(100000) #Set Strategy Cash
# Find more symbols here: http://quantconnect.com/data
self.AddEquity("SPY", Resolution.Second)
self.Debug("numpy test >>> print numpy.pi: " + str(np.pi))
self.testNotify()
def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
if not self.Portfolio.Invested:
self.SetHoldings("SPY", 1)
def testNotify(self):
try:
msg = "some text to be sent with <> html characters"
smsMessage = "smsMessage=" + msg
self.signal.setSignal(smsMessage )
try:
self.Log("message escaped is {}" . format(self.signal.smsMessage))
except:
self.Log("unable to load message")
return
self.Log('launching web hook')
self.Notify.Web("http://www.tradejolt.com/wordpress/qj_sms_forwarder.php",self.signal)
self.Log("successfully sent sms to multiple addresses ")
except:
self.Log("failed to send ADDITIONAL order\n ")
self.Log('An unknown error occurred .' + str(sys.exc_info()[0]) )
self.emailSent = Falsefrom html import escape
import calendar
import time
class Signal(object):
def __init__(self,algo):
self.timestamp = 123456 # calendar.timegm(time.gmtime())
self.algo= algo
self.smsMessage = ""
def setSignal(self,msg,ts=None):
self.smsMessage = escape(msg) #urlencodes the text
''' was having problems so commented this out.
if ts is None:
self.timestamp = calendar.timegm(time.gmtime())
else:
self.timestamp = ts
'''
def getSignal(self):
return self.smsMessage, self.timestamp
''' usage
self.signal = Signal(self) # instantiates signal class for sending webhook data to outside server
self.signal.setSignal("This is some url encoded ?(#(#*# format" ,123456789)
self.Notify.Web("http://www.tradejolt.com/wordpress/qj_sms_forwarder.php",self.signal)
'''