PDA

View Full Version : Can not get DrawText to work (NT6)


RedDuke
04-19-2007, 03:50 PM
I created an indicator using wizard without changing anything.

The only line of code that I have in OnBarUpdate()is

DrawText("TEST", "TEST1", 5, Close[1], Color.Black);

However, nothing is being displayed on the chart. I am obviously doing something wrong.

Thanks,

redduke

NinjaTrader_Dierk
04-19-2007, 05:07 PM
Please inspect your logs. NT reports issues to the logs. It's always a good idea to check there first. There likely will be an error message

Error on calling the 'OnBarUpdate' method for indicator 'MyCustomIndicator' on bar 1: Bar index needs to be greater/equal 0

You need to code:
if (CurrentBar >= 5)
DrawText("TEST", "TEST1", 5, Close[1], Color.Black);
Reason: You are trying to access a bar 5 bars ago which is not yet there as the indicator processes e.g. bar 1.

We will look into making this more tolerant...

RedDuke
04-20-2007, 02:36 AM
Dierk, Thanks a lot.

RedDuke
04-22-2007, 02:54 PM
Hi Dierk,

Is there anyway to increase the size of the font?

Thanks

NinjaTrader_Dierk
04-22-2007, 05:26 PM
Not programmatically. You can change the properties of an existing text object and save them as default.

RedDuke
04-23-2007, 02:43 PM
Dierk,

The logic that I have constanly removes and then draws the values. I need to remove them because otherwise the charts will be too clogged. So, even if I change the text object settings and increase the font, it obviously dissapears once it removed and drawn again. Any other way of increasing it?

Thanks,

redduke

NinjaTrader_Dierk
04-23-2007, 05:43 PM
Apart from setting and saving the default font size? Sorry no.

RedDuke
05-13-2007, 06:10 PM
We just were able to figure this one out.

This line creates font object:

Font fnt = new Font (FontFamily.GenericSansSerif, 14.0F,
FontStyle.Bold);

Now, it can be used in drawing (string cnt needs to be filled with value):

DrawText("counter", cnt, 1, High[1]+2, Color.Blue, fnt,
StringAlignment.Center, Color.DarkSeaGreen, Color.DarkSeaGreen, 10);

Regards,
redduke