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