Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I have been testing the OrderFlowPackage for a few days and like many of us, I'm absolutely impressed by your work. Big thanks mate!
I'm very new to trading, NT platform and I think it's my first post in FIO, so sorry if the question is too obvious but I couldn't find the answer in previous posts;
When I compile and backtest [strategy analyzer] a simple logic, for example, the one mentioned few posts ago of NbSupportZone>0..EnterLong..etc.. [image attached].. the strategy does not do anything.
I've tried backtesting with TickreplayOn / Off or differents order fill resolutions. [NinjaTrader 8, latest. BTW].
I haven't purchased the package yet as I am still in the testing time offered..
Could be that the reason?
OnBarClose did the magic, although I'm seeking to build systems that react as soon as the logic IsTrue, scalping with more granularity.
For example, following the same logic would be to EnterLong as soon as there are 3 stacked imbalances [or whatever parameter defines a SupportZone].
Pls let me know if possible or if I'm not understanding how the system works [quite likely, ha].
You can use On Each Tick but you will need to enable some hacker code
Unlock the strategy, then force the second parameter on the call to GomOrderFlowProValues, called 'ForceIntrabarCalc', to true.
It will be slow as hell though,since it well need to do all the calculations on every tick, whereas the default mode is to do the calculations OnBarClose.
Just wanted to mention I published a new version of of Gom Pro Pack (V12) which contains
Free GomDeltaVolume and GomDeltaMomentum for NT8
GomMP V5.7, which is major performance rewrite of the code.
GOMMP 5.7
I was having performance issues trying to build MarketProfiles on crypto data, which typically have a huge range and a small tick size, so that creates a very large number of price levels and therefore some performance issues.
Morever, I was bothered the way the smoothing was implemented (a convolution trough a triangular window) because it was also a performance issue: the longer the window, the longer the calculation, so at one point it made the smoothing unusable.
So i took out my the performance profilers and started a major performance rewrite.
Smoothing :
Here's an example where smoothing is useful :cancelling "teeth" on charts, like on the GER30 CFD for instance, a smoothing of 17/18 will get rid of the combing effect.
Now it's very fast, and more importantly the performance hit does not dependent on the smoothing setting, so it's the same rendering time if you use 2 or 10000.
I added a performance analysis "secret key" which is Shift/Ctrl/Alt P that will show the global plot time on the top left, with some stats.
Here's the rendering time between no smoothing, 20ish smoothing and 1000ish smoothing, you will see it's nearly the same.
Global performance
The performance numbers are also useful to compare rendering time betweend NT7 NT8 and Sierra
NT8 uses accelerated GPU rendering so it's the fastest
NT7 and Sierra use GDI, so they're a little slower , but 3-4 msec is still very fast !
Everything changes if you use Transparency (opacity setting).
I'm not going to enter the details of the history of GDI but basically on Windows XP most GDI calls were GPU accelerated, but when MS changed the driver model in Vista then W7 and W10, they kept only a handful of primitives accelerated and transparency fill was NOT one of them.
Here are the result using Opacity=254 (Opacity=255 is no tranparency) : NT8 is still at 1 ms because it doesn't use GDI but both NT7 and Sierra now take 10x times to render and are around 25 ms.
So the performance hint you need to remember is that when using NT7 or Sierra, if you want to keep your charts smooth, you need to avoid at all costs to use tranparency fills.
Comparison with the Sierra native profile (Volume at price)
The Sierra devs state that they use C++ and not C# so their code has the best performance, but here's the proof that the language is not all, and that C# can be much faster than C++ :-)
Here's the BTCUSD-Bitmex with a 1 point tick size
I use a study that measures rendering time, basically it shows the time between 2 consecutive refreshes of the chart on the top left in yellow background
Basic rendering time of the chart is 18 ms, so it's the time it takes for Sierra to plot the candlesticks, scales etc..
GomMP : 24 ms, Sierra 600 ms (unusable)
So GomMP takes 6 ms to plot (24-18) ,and Sierra almost 600 ms, so in this case GomMP is almost 100x faster than Sierra
Other example : Tick size 0.5
GomMP 25 ms so rendering 7 ms
Sierra 1188 so rendering 1170 ms (unusable)
In this case, C# GomMP is 160x faster then the C++ Sierra profile.
That's it !
If any case, if you need a high performance profile, you can give it a try !