PDA

View Full Version : Allow quicker chart display update interval


Softturbo
02-10-2010, 07:12 PM
Please re-enable quicker chart update interval settings. In NT6.5, I use a setting of 0.01s. I find this setting to be not too CPU intersive and yet it's faster than most monitor's refresh rate. So it makes charts feel as if they are showing every tick. At 0.1s, the update is too slow and looks arbitrary.

The ability to have quick update interval is very important to me. Had I not been able to do this in NT6.5, I would have gone with Ensign and a different broker completely.

NinjaTrader_Dierk
02-11-2010, 07:44 AM
We added your request to the list of future considerations.

FYI: You probably are aware that the human eye only can catch up to 24 changes a sec. Which would be a ~0.04sec refresh interval. Thus a 0.01 refresh period would make no sense.

Softturbo
02-11-2010, 01:31 PM
Actually the periperal vision of human is faster than that. That's why TVs runs at 60Hz to avoid flickering. For me personally, I still see the monitor up until about 85Hz. So it does make sense to have some margin and set it at 100Hz. But in any case, a 0.1 interval is just too slow for even the slowest eyes.

Zapzap
04-15-2010, 04:44 AM
FYI: You probably are aware that the human eye only can catch up to 24 changes a sec. Which would be a ~0.04sec refresh interval. Thus a 0.01 refresh period would make no sense.

Well, 0.1 is still not 0.04...

You could add a "enable power user settings" switch or something, instead of getting rid of previously available settings.

Why do you guys make such arbitrary decisions? Why do you think your program will be better by such simplifications?

I am feeling that NT7 is going to a direction, where user decisions are more limited. Not good, not good at all, if you consider that one of the main advantages of NT compared to other platforms (like Tradestation eg. )is that it is customizable on an extreme level by .net programming. So if you take away basic customization options you are taking a different path... And then what remains?

Trading is the most fierce race on Earth. We need tuned race cars, not comfortable family cars...

NinjaTrader_Dierk
04-15-2010, 04:52 AM
Thanks for your feedback.

>> Why do you guys make such arbitrary decisions?
Incorrect, this decision was well thought.

>> Why do you think your program will be better by such simplifications?
Since people get themselves less in trouble than before which already is proven by the beta phase.

Zapzap
04-15-2010, 05:29 AM
>> Why do you guys make such arbitrary decisions?
Incorrect, this decision was well thought.

Arbitrary decision is not about time spent on it, not about how smart it seems. It means, you close the user off.


>> Why do you think your program will be better by such simplifications?
Since people get themselves less in trouble than before which already is proven by the beta phase.

Now this is one weak excuse, without any offense. Following this thought you could disable programmability, because people can get in trouble by poor code...

When talking about users, we are talking about traders. This is a profession. An extremely competitive one. So we need precious tools. Competitive ones. Not simplified, foolproof ones. NT could be the best tool for the job, if it went for even more options instead of less. This is my humble opinion after 7 years of trading, and 10s of used platforms.

To get back to my previous example: you shouldn't FORCE tempomat to a race car, just because some drivers crash with the default gas pedal.

If you want to save peoples asses, put exclamation marks, write more info, make it harder to change, but please, not impossible.

NinjaTrader_Dierk
04-15-2010, 05:30 AM
Thanks for your feedback.

Zapzap
04-15-2010, 05:48 AM
Just a quick idea, which is very easy to implement:
If someone lowers the value below 0.1, a window pops up: "You can cause serious system instability by setting this value below 0.1. Do you want to proceed? Y/N"
By hitting N the default value comes back.

This way everyone is aware of the risk, and still can lower the value. And it is only 2 lines of code.

NinjaTrader_Dierk
04-15-2010, 05:53 AM
Thanks for your suggestion. Unfortunately at this time we have no plan to change current behavior.

JS999
04-15-2010, 06:29 AM
Just a quick idea, which is very easy to implement:
If someone lowers the value below 0.1, a window pops up: "You can cause serious system instability by setting this value below 0.1. Do you want to proceed? Y/N"
By hitting N the default value comes back.

This way everyone is aware of the risk, and still can lower the value. And it is only 2 lines of code.

Forget about this, they are not going to change it. We already had a discussion about this a long time ago in beta and had to yell and scream just to get it to .1 refresh rate. They originally had the global application locked at .5 seconds where you couldn't adjust it on a chart-by-chart basis. If you want to refresh your chart more frequently, just write an indicator that calls ChartControl.Refresh() on OnMarketData(), like this:

if (DateTime.Now > lastRefresh.AddMilliseconds(refreshDelay))
{
ChartControl.Refresh();
lastRefresh = DateTime.Now;
}

It's not officially supported code, but it works fine.

Zapzap
04-15-2010, 06:37 AM
Okay, thanks JS999, NT is still great for botching up all the needed things. :)
It's just got beta public today, so a second turn is to be expected on all the annoying issues. :)

JS999
04-15-2010, 06:40 AM
Okay, thanks JS999.
It's just got beta public today, so a second turn is to be expected on all the annoying issues. :)

Yes, and we can expect it again when it gets to the release version and a lot more people get access to it. It would have been a lot worse if we hadn't raised hell to get it down from the original .5 seconds locked refresh rate. In the first beta you didn't even have an option to change it at all.

trader65
04-18-2010, 02:14 AM
.........:cool:

Arbitrary decision is not about time spent on it, not about how smart it seems. It means, you close the user off.



Now this is one weak excuse, without any offense. Following this thought you could disable programmability, because people can get in trouble by poor code...

When talking about users, we are talking about traders. This is a profession. An extremely competitive one. So we need precious tools. Competitive ones. Not simplified, foolproof ones. NT could be the best tool for the job, if it went for even more options instead of less. This is my humble opinion after 7 years of trading, and 10s of used platforms.

To get back to my previous example: you shouldn't FORCE tempomat to a race car, just because some drivers crash with the default gas pedal.

If you want to save peoples asses, put exclamation marks, write more info, make it harder to change, but please, not impossible.

Ricam
05-09-2010, 01:52 PM
My charts seem to be refreshing at ONE (1) (I) SECOND intervals, not 0.1 second intervals. This was really galling during the 1,000 point Dow crash on Thursday (May 6). If I set the Display Update Interval of the chart to MORE than one second, it WILL slow down even more. If I set the Display Update Interval to LESS than one second, the refresh rate remains one (1) (I) second.

Even when I have an indicator with the code to force a refresh every 10 milliseconds, the refresh rate remains the same. Any suggestions?

I am using NT7 B15 with Zen. Thanks.

NinjaTrader_Austin
05-09-2010, 02:07 PM
Ricam, did you make the 0.1 second update interval the default for all charts? If not, then the setting would not be persisted. If NT doesn't like 0.1 seconds, have you tried something like 0.11 or 0.2 seconds?

Ricam
05-09-2010, 03:48 PM
I tried a lot of different settings between .1 and 1.

I have only one chart running in this workspace (in replay).

None of the settings below one second have any effect at all and still give the same one second refresh rate. Settings of more than one second will slow it down even more.

Noticed this in real time over the last couple of days. During the crash on Thursday my charts were just loafing along, nice 'n easy. Liike a grandfather clock.. tick tock tick tock, very soothing

NinjaTrader_Bertrand
05-10-2010, 07:13 AM
Ricam, which feed are you using for real time testing here? I'm getting updates quicker than the second you mentioned here for example on ZenFire. Just follow the same instrument for example parallel on the MA (default highlight duration 1 sec) to compare...perhaps a good time would be the soon coming cash open in US.

resist
05-20-2010, 07:32 AM
Forget about this, they are not going to change it. We already had a discussion about this a long time ago in beta and had to yell and scream just to get it to .1 refresh rate. They originally had the global application locked at .5 seconds where you couldn't adjust it on a chart-by-chart basis. If you want to refresh your chart more frequently, just write an indicator that calls ChartControl.Refresh() on OnMarketData(), like this:

if (DateTime.Now > lastRefresh.AddMilliseconds(refreshDelay))
{
ChartControl.Refresh();
lastRefresh = DateTime.Now;
}

It's not officially supported code, but it works fine.

Thank you for this fine suggestion. Could you put this into an indicator and compile it as an .cs or zip file so Iīm able to import it directly into NT?

As I have not any programming experience I canīt do it myself.

THANKS!!!

JS999
05-20-2010, 07:58 AM
Thank you for this fine suggestion. Could you put this into an indicator and compile it as an .cs or zip file so Iīm able to import it directly into NT?

As I have not any programming experience I canīt do it myself.

THANKS!!!

Here is an indicator I exported. Please note that I have NOT actually done testing with this at all, since I don't really use it myself... I just quickly threw together some code for you that should probably work.

(I happen to use an indicator called Ed's Level 2 which handles its own chart refreshing, so I took some relevant code from that and just put it in this one.)

Perhaps another programmer could take a look at it and verify that I didn't do anything wrong.

Here is the relevant code:


public class ChartRefresh : Indicator
{
#region Variables
// Wizard generated variables
private int refreshInMilliseconds = 0; // Default setting for RefreshInMilliseconds
private DateTime lastRefresh;

// User defined variables (add any user defined variables below)
#endregion

/// <summary>
/// This method is used to configure the indicator and is called once before any bar data is loaded.
/// </summary>
protected override void Initialize()
{
Overlay = false;
lastRefresh = DateTime.Now;
}


protected override void OnMarketData(MarketDataEventArgs e) {
try
{
if ((e.MarketDataType == MarketDataType.Last) && (refreshInMilliseconds == 0))
{
ChartControl.Refresh();
}
else if (refreshInMilliseconds != 0)
{
if (DateTime.Now > lastRefresh.AddMilliseconds(refreshInMilliseconds) )
{
ChartControl.Refresh();
lastRefresh = DateTime.Now;
}
}
}catch (Exception ex)
{
Print(DateTime.Now.ToString() + " " + ex.ToString());
}
}

#region Properties

[Description("Interval in ms to refresh the chart. 0 refreshes on every tick.")]
[GridCategory("Parameters")]
public int RefreshInMilliseconds
{
get { return refreshInMilliseconds; }
set { refreshInMilliseconds = Math.Max(0, value); }
}
#endregion
}

resist
05-20-2010, 10:24 AM
wonderful - many thanks to JS999 - very quiock reply !!!!!!!!!!!!!!!!!!!!!!!

the cpu usage increases up to 100% and if itīs running longer or in more than one window system is slowing down .. so I think there yould be a bug or simply my CPU isto slow for this indicator - but Iīve already searched for the mentioned "Edá Level 2" as I eatrlier used JT-Realstats with NT 6.5 so perhaps itīs interesting, too.

Iīll be back later and when I had a look to Edīs Level 2 and how this indicator is running on my system I know whether itīs my system or a bug or NT 7 itself making me "slow"

good trades and thanks again for your quick reply

JS999
05-20-2010, 10:33 AM
wonderful - many thanks to JS999 - very quiock reply !!!!!!!!!!!!!!!!!!!!!!!

the cpu usage increases up to 100% and if itīs running longer or in more than one window system is slowing down .. so I think there yould be a bug or simply my CPU isto slow for this indicator - but Iīve already searched for the mentioned "Edá Level 2" as I eatrlier used JT-Realstats with NT 6.5 so perhaps itīs interesting, too.

Iīll be back later and when I had a look to Edīs Level 2 and how this indicator is running on my system I know whether itīs my system or a bug or NT 7 itself making me "slow"

good trades and thanks again for your quick reply

Yes, as I said I just ripped the code out and wrote up something quick myself, but no testing on it. It is very possible that there is a bug somewhere, perhaps someone else with more time could take a look at it. Hope it works out for you!

Radical
05-20-2010, 11:06 AM
FYI: You probably are aware that the human eye only can catch up to 24 changes a sec. Which would be a ~0.04sec refresh interval. Thus a 0.01 refresh period would make no sense.

Not to nitpick, but this is completely false. The generally accepted limit of human visual perception would be around a .014sec refresh period (exactly 3 times faster than 24 fps). Out of curiosity, why did you choose to make the max .1 instead of .01 for NT7?

resist
05-21-2010, 02:42 PM
Yes, as I said I just ripped the code out and wrote up something quick myself, but no testing on it. It is very possible that there is a bug somewhere, perhaps someone else with more time could take a look at it. Hope it works out for you!

of course I understood that this was quick help and I thank you therefore very much!!!!!!!

just now I was looking for this Edīs Level 2 indicator and google told me this link to download: http://www.greattradingsystems.com/Eds+Level2+v1-ninjatraderindicator

I downloaded and installed but receive when importing an error message. (Import failed. The NinjaScript Archive File may contain duplicate method names that already exist on your PC or there is a required file missing on either your PC or in the import archive).

Could you recommend a better link to download (donīt know if its allowed to export yours an post here).

NinjaTrader_Josh
05-21-2010, 03:09 PM
resist,

Indicator you are trying to download is most likely not NT7 compatible. Please see the steps in the "Migrating NinjaScript" section for importing NT6.5 indicators and getting them NT7 compatible: http://www.ninjatrader.com/support/forum/showthread.php?t=21019

resist
06-10-2010, 04:15 PM
would it be possible to increase update interval to 0 same to NT 6.5 ?????
or is all the "work" done in processor / cpu?

if yes any suggestion which model of graphic card to buy?

NinjaTrader_Josh
06-10-2010, 04:34 PM
Most of the work is done by the CPU.