Hello, 

My algorithm is returned this error, which I can not fix. 

  1. 20241115 10:07:50.170 TRACE:: BrokerageMultiWebSocketSubscriptionManager.GetWebSocketForSymbol(): added symbol: BTCUSDT 18R to websocket: 65721624 - Count: 1
  2. 20241115 10:07:50.179 TRACE:: DataManager.AddSubscription(): Added BTCUSDT,#0,BTCUSDT,Minute,TradeBar,Trade,Adjusted,OpenInterest,Internal. Start: 11/15/2024 10:06:00 AM. End: 12/31/2050 5:00:00 AM
  3. 20241115 10:07:50.179 TRACE:: UniverseSelection.AddPendingInternalDataFeeds(): Adding internal benchmark data feed BTCUSDT,#0,BTCUSDT,Minute,TradeBar,Trade,Adjusted,OpenInterest,Internal
  4. 20241115 10:07:50.192 TRACE:: LiveTradingDataFeed.HandleUnsupportedConfigurationEvent(): detected unsupported configuration: BTCUSDT,#0,BTCUSDT,Minute,TradeBar,Trade,Adjusted,OpenInterest,Internal
  5. 20241115 10:07:50.193 TRACE:: DataManager.AddSubscription(): Added BTCUSDT,#0,BTCUSDT,Minute,TradeBar,Trade,Adjusted,OpenInterest,Internal. Start: 11/15/2024 10:07:49 AM. End: 12/31/2050 5:00:00 AM
  6. 20241115 10:07:50.196 TRACE:: DataManager.RemoveSubscription(): Removed BTCUSDT,#0,BTCUSDT,Minute,TradeBar,Trade,Adjusted,OpenInterest,Internal
  7. 20241115 10:07:50.485 TRACE:: Debug: binance account base currency: USD
  8. 20241115 10:07:50.485 TRACE:: Debug: Changing account currency from USD to USDT...
  9. 20241115 10:07:50.486 TRACE:: Debug: Accurate daily end-times now enabled by default. See more at https://qnt.co/3YHaWHL. To disable it and use legacy daily bars set self.settings.daily_precise_end_time = False.
  10. 20241115 10:07:50.486 TRACE:: Debug: Warning: binance Crypto TradeBar data not supported. Please consider reviewing the data providers selection.
  11. 20241115 10:08:48.541 TRACE:: Isolator.ExecuteWithTimeLimit(): Used: 24, Sample: 165, App: 1592, CurrentTimeStepElapsed: 00:00.000. CPU: 5%

My code is the follow:

  1. def initialize(self):
  2. self.set_start_date(2024, 1, 1) # Set Start Date
  3. self.set_end_date(2024, 1, 15)
  4. self.set_account_currency("USDT")
  5. self.set_cash(1000)
  6. self.rsi_hold_period = int(self.get_parameter("rsi_hold_period"))
  7. self.top_profit_pct = float(self.get_parameter("top_profit_pct"))
  8. # universe settings
  9. self.universe_settings.asynchronous = True
  10. self.universe_settings.resolution = Resolution.HOUR
  11. self.universe_settings.minimum_time_in_universe = timedelta(days=360)
  12. self.settings.minimum_order_margin_portfolio_percentage = self.order_size
  13. self.settings.automatic_indicator_warm_up = True
  14. self.set_brokerage_model(BrokerageName.BINANCE_FUTURES, AccountType.MARGIN)
  15. self.add_universe(CryptoUniverse.binance(self._select_assets))
  16. self.set_portfolio_construction(
  17. AccumulativeInsightPortfolioConstructionModel(percent=self.order_size))
  18. self.add_risk_management(
  19. MaximumTopPercentPerSecurity(maximum_top_percent=self.top_profit_pct))
  20. self.set_execution(ImmediateExecutionModel())
  21. def _select_assets(self, data):
  22. selected = sorted(
  23. [x for x in data if x.volume_in_usd],
  24. key=lambda x: x.volume_in_usd
  25. )[-50:]
  26. return [x.symbol for x in selected]
  27. def on_securities_changed(self, changes: SecurityChanges) -> None:
  28. # Create and register indicator for each security in the universe
  29. security_by_symbol = {}
  30. for security in changes.added_securities:
  31. security_by_symbol[security.symbol] = security
  32. # Create an indicator that automatically updates each month
  33. security.indicator = self.rsi(security.symbol, self.lookback_months, MovingAverageType.SIMPLE,
  34. Resolution.HOUR)
  35. # security.indicator_mom = self.mom(security.symbol, period=20, resolution=Resolution.DAILY)
  36. self._register_indicator(security)
  37. self.securities_list.append(security)
  38. def _register_indicator(self, security):
  39. security.consolidator = TradeBarConsolidator(Resolution.DAILY)
  40. self.subscription_manager.add_consolidator(security.symbol, security.consolidator)
  41. security.indicator.updated += self.update_event_handler
+ Expand

What am I doing wrong that complains about TradeBar and does not sync with Binance? when I do the backtesting it works properly only happens in LiveMode

Author

Ruben Fanjul

November 2024