NexusFi: Find Your Edge


Home Menu

 





Shorter vertical line with DrawLine


Discussion in NinjaTrader

Updated
    1. trending_up 3,288 views
    2. thumb_up 1 thanks given
    3. group 2 followers
    1. forum 3 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
 Randwulf 
Colorado Springs, CO
 
Experience: Beginner
Platform: NinjaTrader
Posts: 22 since Oct 2009
Thanks Given: 16
Thanks Received: 0

I'm currently using DrawRegion() from the top to the bottom of a Keltner Channel to highlight a bar.
I like this approach except for the fact that it offsets by half a bar.

I could be just as happy with a vertical line that runs from top to bottom of the channel but,
I can't seem to get DrawLine() to work...
At present, if the bool for autoscale is "false", the lines don't show and if "true", they do show but, run considerably higher and lower than the channel.

Example:
protected override void OnBarUpdate()
{
// Condition set 1
if (High[0] > KeltnerChannel(4, 50).Midline[0]
&& Low[0] < KeltnerChannel(4, 50).Midline[0])
{
DrawLine("My line" + CurrentBar, false, 0, KeltnerChannel(4, 50).Upper[0], 0, KeltnerChannel(4, 50).Lower[0] , Color.White, DashStyle.Solid, 2);
}
}

Here's the point where you smile and shake your head...
Go ahead, please show me the error of my ways...

Thanks in advance


Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Iran Lebanon Problem Kills Switzerland Talks, Brent at $ …
Prediction Markets & Event Contracts
Would a node-based workflow for automated trading be useful?
Traders Hideout
Irans Dual Probability: Guns Quiet at 99.95% While Forma …
Prediction Markets & Event Contracts
Iran Update May 8: Still Reviewing MOU, Demands Reparati …
Traders Hideout
Al Arabiya: US-Iran Draft Deal Within Hours Contains Hor …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
NexusFi site changelog and issues/problem reporting
10 thanks
Darmok and Jalad at Tanagra
3 thanks
Big Mike in Ecuador
1 thanks
30 Sessions
1 thanks
  #3 (permalink)
 
anachronist's Avatar
 anachronist 
San Jose, CA
 
Experience: Advanced
Platform: NinjaTrader
Trading: all
Posts: 26 since Apr 2012
Thanks Given: 0
Thanks Received: 16


Regarding your statement:
DrawLine("My line" + CurrentBar, false, 0, KeltnerChannel(4, 50).Upper[0], 0, KeltnerChannel(4, 50).Lower[0] , Color.White, DashStyle.Solid, 2);

I don't know if this will fix your problem, but I'd do a couple things differently.

1. The line ID "My line"+CurrentBar should be "My line" + CurrentBar.ToString().

2. You are needlessly recalculating the KeltnerChannel multiple times. To avoid this, here's what I do (and it becomes critical to speed up very complex code).

In variables, declare
 
Code
                            
private KeltnerChannel kc
Add an OnStartUp() to initialize kc (don't put this in Initialize()):
 
Code
                            
protected override void OnStartUp() {
   
kc KelternChannel(450);

Then in OnBarUpdate() do this:
 
Code
                            
protected override void OnBarUpdate() {
   
double k kc[0]; // calculate KeltnerChannel ONCE
   // now access all the properties you want
   
DrawLine("Myline"+CurrentBar.ToString(), false0kc.Upper[0], 0kc.Lower[0] , Color.WhiteDashStyle.Solid2);

-Alex


Reply With Quote
Thanked by:
  #4 (permalink)
 Randwulf 
Colorado Springs, CO
 
Experience: Beginner
Platform: NinjaTrader
Posts: 22 since Oct 2009
Thanks Given: 16
Thanks Received: 0

anachronist,

Thank you for the response.
I wanted to let you know that I appreciate it but, can't validate it just yet.
I am in the process of re-imaging windows and reloading NinjaTrader as NT support can't duplicate the issue.
I especially appreciate the speed up suggestions & will follow up ASAP..


Started this thread Reply With Quote




Last Updated on May 3, 2012


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts