Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
NT 8.0.14.1 not working and unstable
Collapse
X
-
At the earliest, Wednesday afternoon but likely Thursday. I'll update this thread when posted.
Leave a comment:
-
An update:
* We've been in communication with Harry to resolve the issue.
* Harry's indicators depend on the order of operations between state management and OnRenderTargetChanged.
* We did not document or expect internally that this order of operations is guaranteed.
* We fixed a bug in R14 which caused the sequence of operations to change. Which we did not believe to be an error condition due to the point prior.
* That bug fix is valid and should be maintained.
As a result, release 14.2 will add a concept to NinjaTrader whereby guaranteeing order of operations on indicators and strategies in regards to State.Configure being prior to the first OnRenderTargetChanged, which should resolve the issue posted here. We will also add documentation noting that this sequence is now guaranteed.
Thanks everyone for reporting the issue and sorry for the inconvenience.
Leave a comment:
-
more QA on releases
Since SharpDX issues were the crux of so many problems until early this year lets hope this gets full attention and is resolved and we dont regress ; please QA at ninja spend more time on these builds before releasing ; and consider how much effort and waste of time and resources it impacts your customer base ; we are coming out of feeling weary from the debacle of last year please do not send us back there !
Leave a comment:
-
Hi Harry,
I completely agree. The brushes should be configured in State.Configure and NOT in State.defaults. I have had to recode a number of indicators already. My solution to the current problems with NT has been to create a media collection and initialize it via an initialization method which I call from State.Defaults. This is what works with the current version of NT. Once NT is corrected so that initialization can be done in State.Configure, I will simply move the initialization calls to State.Configure. But, I agree; this is a major pain.
Leave a comment:
-
SharpDX has null check for brushes and throws HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments] exception in this case.
This can't crash Ninja, but indicator only.
Sample has very strange try-catch code...
It's a bad design IMO
try
{
pivotRangeBrushDX = pivotRangeBrush.ToDxBrush(RenderTarget);
centralRangeBrushDX = centralRangeBrush.ToDxBrush(RenderTarget);
jacksonZonesBrushDX = jacksonZonesBrush.ToDxBrush(RenderTarget);
transparentBrushDX = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Transparent);
for (int seriesCount = 0; seriesCount < Values.Length; seriesCount++)
brushesDX[seriesCount] = Plots[seriesCount].BrushDX;
}
catch (Exception e) { }
I think the issue is here
NinjaTrader.Gui.NinjaScript.IndicatorRenderBase.se t_RenderTarget(RenderTarget value)
Stack from 14.1:
2018-06-08 04:58:21:534 ERROR: Indicator '': Error on calling 'OnRenderTargetChanged' method: System.NullReferenceException: Object reference not set to an instance of an object. at VolumeProfile.VolumeProfile.a8jf0RgHNL3hFa2ovZy(Ob ject ) at VolumeProfile.VolumeProfile.OnRenderTargetChanged( ) at NinjaTrader.Gui.NinjaScript.IndicatorRenderBase.se t_RenderTarget(RenderTarget value)Last edited by ren37; 06-11-2018, 03:21 AM.
Leave a comment:
-
It is best practice to put as little code as possible into State.SetDefaults() to avoid compiling unnecessary stuff all the time.
Therefore I have always set and frozen brushes in State.Configure. This was also recommended by NinjaTrader support at innumerable occasions.
Problem here is that with NT 8.0.14.1 State.Configure() is delayed and sometimes called after OnRenderTargetChanged(). In that case brushes are not set and cannot be used.
When the DX brushes are null, OnRender() crashes and no more new charts may be opened.
Leave a comment:
-
Hi Harry,
I already flagged these issues more than a week ago. I was told that the proper way to initialize brushes was in State.Defaults even though I did it in State.Configure in all the previous versions of NT. You have amazing influence- the NT CEO responded to you.
I have been trying to get something else, relatively simple, done as well but somehow it isn't happening even though NT said they would do it. Wish I had your amazing powers.
Leave a comment:
-
Originally posted by aligator View PostThanks Harry,
A question please:
Is there a real advantage to using OnRender() and DX brushes and is there really an appreciable increase in performance.
Programming indicators with DX brushes is more involved and tedious if one is plotting and drawing many objects, let alone a library of over 100 indicators. But I have not noticed a big difference compared to using non-DX brushes or OnRender() methods.
Other than being a novelty (or for an actual limitation for which only DX would work) is it really worth the efforts?
I am only coding indicators with custom DX brushes, if there is a reason. The NinjaScript methods Draw.Text, Draw.Region etc. sometimes imply loading times for an indicator of several minutes, which can be reduced to less than a second with a custom plot.
Also there are cases where the desired outcome cannot be produced with a standard plot or the inbuilt Draw methods. In these cases a custom plot is needed.
A good example is the Ichimoku indicator. When you use Draw.Region, the line crosses will not be correctly filled, and also it is not easy to plot anything forward outside of the price area, if you use standard plots.
Leave a comment:
-
Originally posted by Harry View PostThank you for your feedback. This is the first response I have had.
All isues we have had could be finally traced back to OnRenderTargetChanged() being called prior to State.Configure().
A question please:
Is there a real advantage to using OnRender() and DX brushes and is there really an appreciable increase in performance.
Programming indicators with DX brushes is more involved and tedious if one is plotting and drawing many objects, let alone a library of over 100 indicators. But I have not noticed a big difference compared to using non-DX brushes or OnRender() methods.
Other than being a novelty (or for an actual limitation for which only DX would work) is it really worth the efforts?
Leave a comment:
-
Originally posted by NinjaTrader_Ray View PostThanks Harry. This has been escalated to the appropriate individuals for further analysis.
All isues we have had could be finally traced back to OnRenderTargetChanged() being called prior to State.Configure().
Leave a comment:
-
Thanks Harry. This has been escalated to the appropriate individuals for further analysis.
Leave a comment:
-
Synchronization problem clearly identified
Here is the problem identified. You just need to insert Print instructions for checking it.
With NinjaTrader 8.0.13.1 and all prior releases the order in which State.Configure(), OnRenderTargetChanged() and OnRender() were called, was always
1. State.Configure()
2. OnRenderTargetChanged()
3. OnRender()
With NinjaTrader 8.0.14.1 OnRenderTargetChanged() is often called prior to State.Configure(). This is what is at the origin of all freezes and crashes, as State.Configure is used for initialization of brushes and other parameters.
OnRenderTargetChanged() 16:16:23.733
State.Configure() 16:16:23.736
OnRender() 16:16:23.803
The times show the start times (Print instruction inserted on top) and you will notice that OnRenderTargetChanged() was triggered prior to State.Configure().
This lack of synchronization causes major disasters and freezing of NT 8.0.14.1. Please guys fix it as soon as possible!
Leave a comment:
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by yaniv, Today, 12:50 PM
|
1 response
2 views
0 likes
|
Last Post Today, 01:15 PM | ||
Started by Lele2k24, Yesterday, 11:24 AM
|
10 responses
31 views
0 likes
|
Last Post Today, 01:04 PM | ||
Started by Padan, Today, 02:02 AM
|
7 responses
19 views
0 likes
|
Last Post Today, 12:59 PM | ||
Started by Adam Klaus, 03-26-2024, 07:43 PM
|
2 responses
22 views
0 likes
|
Last Post
by mcosta72
Today, 12:54 PM
|
||
Started by spottysallrite, Today, 11:31 AM
|
4 responses
12 views
0 likes
|
Last Post Today, 12:53 PM |
Leave a comment: