start up procedures

Add your new features and requests here.
Posts: 1
Joined: Wed Mar 11, 2020 8:59 pm

start up procedures

Post by luigizerozero » Wed Mar 11, 2020 9:07 pm

  Bookmap 7.1 requires a number of steps described as follow which is quite cumbersome.1. I have to start Bookmap manually as it no longer start up when the NT8 windows with the bookmap indicator open. 2. As I have a number of instruments running bookmap, I get several NT8 windows popping up prompting to start bookmap. I would have to click these windows away one by one.3. Once bookmap is started, I would get the Bookmap run options windows asking for connectivity selection. This is normal.4. Since the NT8 was started after bookmap, the two aren't in sync and bookmap prompted the following message- "to subscribe to Ninja instrument you need to open a chart in NinjaTrader and add "Bookmap Xray" indicator", I would have to click to dismiss the message.
5. Eventually if Ninjatrader catches up, the bookmap windows will start to populate and everything is fine. At times, however, nothing shows up as though Bookmap and NT8 aren't connecting to each other, at which point, I would have to manually connect by clicking on the Plus icon and add the instrument. Once that's done, I would have to manually refresh each of the NT8 windows to get the selected instruments to populate on Bookmap. My NT8 windows refreshes a little slow as I have a number of days and indicators to load.

I've been enduring the above procedures since the update and it's an everyday, tedious process. Shouldn't there be a smoother operation that requires fewer clicks and reloads?

Site Admin
Posts: 70
Joined: Mon Jun 11, 2018 11:44 am
Has thanked: 2 times
Been thanked: 7 times

Re: start up procedures

Post by Svyatoslav » Thu Mar 12, 2020 9:05 am


Let's start with clarifying the startup process. I have just verified with Bookmap 7.1.0 b31 and NT 64-bit+Bookmap NT connector from 7.1.0 b31 (the archive imported into NT) that the following simple process works after you do initial setup (configure workspaces in NT and Bookmap):
1. Fully start Bookmap (before NT). If you select to load previous workspace (which you typically should) it will start NT connector automatically.
2. Start NT 64 bit
3. Connect NT to data (in my case it starts with data connections disabled, so even though charts are opened and contain Bookmap indicator I still need to initiate data connection)

That's it. Charts should automatically appear in Bookmap. I hope that's the procedure you are looking for, let me know if that doesn't work.

Now, in regards to why we did what might look to most of you like a regression (made connecting to NT harder). NT is one of the older connections supported by Bookmap, and it was following some very special rules. Like it was starting before all other connections, regardless if you need it (this is how bookmap listens for NT connection). Unfortunately this also means that it starts for everyone, requiring .NET virtual machine being started in Bookmap process, which takes few extra seconds on startup and shutdown + some potential stability issues if .net is missing or corrupted (even though it is pretty rare) + extra RAM usage. There also was a bunch of NT specific code which was tested separately (and, let's be honest, sometimes not tested properly, because we forgot that this case is handled differently for Ninja, causing extra bugs).
So what we did is that we used unified startup procedure on NT connector too. Now it only starts if you want it to start and from the Bookmap point of view looks just like any "normal" adapter. We hope that will increase stability (for NT users) and improve experience (for non-NT users who have no reason to have NT adapter running).
NT provider is now considered a legacy connection.

Another point we tried to address is that NT is NOT a recommended way to connect bookmap, and having it always on actually sent the opposite message. Due to additional data conversion layer (being NT) data quality gets decreased, performance gets decreased, and, on top of that, data isn't perfectly uniform after exiting NT (I mean if you feed NT with some datasources you'll get data significantly different, to a point of seeing datasource-specific quirks, which are pretty hard to locate without testing all those datasources). If you can - just connect Bookmap directly and you'll have significantly better experience.

However, I'm not saying we couldn't have done a better job maintaining this adapter, so anyone is welcome to write his own NT connector using L0 API - I'm sure it can be done better than what we currently provide (at least it could be faster, I believe; also you don't really need a .net VM inside bookmap process if you use different interprocess communication mechanism). Btw, we finally launched the marketplace, so you could even sell it.

Post Reply