| Overall Statistics |
|
Total Trades 2 Average Win 0.35% Average Loss 0% Compounding Annual Return 11.075% Drawdown 15.100% Expectancy 0 Net Profit 10.249% Sharpe Ratio 0.606 Probabilistic Sharpe Ratio 31.462% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha -0.083 Beta 0.196 Annual Standard Deviation 0.142 Annual Variance 0.02 Information Ratio -1.382 Tracking Error 0.561 Treynor Ratio 0.44 Total Fees $222.14 Estimated Strategy Capacity $1000000.00 Lowest Capacity Asset BTCUSD XJ |
class CoinbaseProBrokerageExampleAlgorithm(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2021, 1, 1)
self.SetCash(100000)
self.SetBrokerageModel(BrokerageName.GDAX, AccountType.Cash)
self.symbol = self.AddCrypto("BTCUSD", Resolution.Minute).Symbol
# Set default order properties
self.DefaultOrderProperties = GDAXOrderProperties()
self.DefaultOrderProperties.TimeInForce = TimeInForce.GoodTilCanceled
self.DefaultOrderProperties.PostOnly = False
def OnData(self, data):
if self.Portfolio.Invested:
return
# Place an order with the default order properties
self.MarketOrder(self.symbol, 1)
# Place an order with new order properties
order_properties = GDAXOrderProperties()
order_properties.PostOnly = True
ticket = self.LimitOrder(self.symbol, -0.5, round(data[self.symbol].Price + 5000, 2), orderProperties = order_properties)
# If we try to call `Update`, an exception is raised
# ticket.Update()
# Update the order
ticket.Cancel()
self.LimitOrder(self.symbol, -0.5, round(data[self.symbol].Price + 1000, 2), orderProperties = order_properties)