Hello, I have several questions about creating a custom brokerage. I have already completed my custom brokerage (dYdX), but I am encountering errors during initialization.

Here is my algorithm's initialization:

  1. public override void Initialize()
  2. {
  3. const string market = "dydx";
  4. Transactions.MarketOrderFillTimeout = TimeSpan.FromMinutes(15);
  5. SetBrokerageModel(new DydxBrokerageModel());
  6. var marketHoursDatabase = QuantConnect.Securities.MarketHoursDatabase.FromDataFolder();
  7. var alwaysOpen = QuantConnect.Securities.SecurityExchangeHours.AlwaysOpen(DateTimeZone.Utc);
  8. marketHoursDatabase.SetEntry(market, "[*]", SecurityType.CryptoFuture, alwaysOpen);
  9. _symbol = AddCryptoFuture("BTCUSD", Resolution.Tick, market).Symbol;
  10. Portfolio.CashBook.Add("BTC", 0, 0);
  11. //Portfolio.CashBook["BTC"].SetAmount(30000);
  12. SetBenchmark(_symbol);
  13. }
+ Expand

Here is my live mode config:

  1. "live-dydx": {
  2. "live-mode": true,
  3. "live-mode-brokerage": "DydxBrokerage",
  4. "setup-handler": "QuantConnect.Lean.Engine.Setup.BrokerageSetupHandler",
  5. "result-handler": "QuantConnect.Lean.Engine.Results.LiveTradingResultHandler",
  6. "data-feed-handler": "QuantConnect.Lean.Engine.DataFeeds.LiveTradingDataFeed",
  7. //"data-queue-handler": [ "DydxBrokerageDataQueue" ],
  8. "data-queue-handler": [ "DydxBrokerage" ],
  9. "real-time-handler": "QuantConnect.Lean.Engine.RealTime.LiveTradingRealTimeHandler",
  10. //"transaction-handler": "QuantConnect.Lean.Engine.TransactionHandlers.BacktestingTransactionHandler",
  11. "transaction-handler": "QuantConnect.Lean.Engine.TransactionHandlers.DydxBrokerageTransactionHandler"
  12. }

No tradable pair was found for currency BTC. The conversion rate to the account currency (USD) will be set to zero. Markets: [Forex:OANDA, CFD:OANDA, Crypto:Coinbase]

Even if this issue is resolved, it seems my custom broker is not as flexible as the supported brokers. Maybe I'm missing some implementation details, or perhaps it's not possible to fully integrate a custom brokerage without modifying the Lean engine source code.

Why is Lean trying to use Coinbase or OANDA when I've specified my custom broker?

 

 

Author

Oilan Online

5 days ago