Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Breakout of previous High/Low
Collapse
X
-
Breakout of previous High/Low
I am trying to write a strategy that includes a breakout of a previous High/Low of x bars ago. I am detecting the correct previous bar with the highest high or lowest low but my problem is detecting when the previous High/Low gets broken. I have it looking for a cross above/below but it doesn't work because when a hew high/low is hit, the previous high/low gets reset. I'm sure I'm missing something simple to get this to work. I attached the current code I'm using.....Tags: None
-
Hello mlarocco,
I believe in this case you would need to use a class level variable and then find the highest and lowest values after you check the cross condition. That would let you delay reading the new highest/lowest values by 1 bar. That would look like the following:
Code:private int highestBarsAgo; private int lowestBarsAgo; protected override void OnBarUpdate() { if (BarsInProgress != 0) return; if (CurrentBars[0] < 60) return; //evaluate high price from highest bars ago value double HighestPrice = High[highestBarsAgo]; double LowestPrice = Low[lowestBarsAgo]; Print ("Highest Bar is " + highestBarsAgo); Print("Highest price is " + HighestPrice); Print("Current High is " + High[0]); // Set 1 if (CrossAbove(High, HighestPrice, 1)) { BarBrush = Brushes.Blue; } // Set 2 if (CrossBelow(Low, LowestPrice, 1)) { BarBrush = Brushes.Yellow; } highestBarsAgo = HighestBar(High, 60); lowestBarsAgo = LowestBar(Low, 60); }
-
Thanks, I will give it a tryOriginally posted by NinjaTrader_Jesse View PostHello mlarocco,
I believe in this case you would need to use a class level variable and then find the highest and lowest values after you check the cross condition. That would let you delay reading the new highest/lowest values by 1 bar. That would look like the following:
Code:private int highestBarsAgo; private int lowestBarsAgo; protected override void OnBarUpdate() { if (BarsInProgress != 0) return; if (CurrentBars[0] < 60) return; //evaluate high price from highest bars ago value double HighestPrice = High[highestBarsAgo]; double LowestPrice = Low[lowestBarsAgo]; Print ("Highest Bar is " + highestBarsAgo); Print("Highest price is " + HighestPrice); Print("Current High is " + High[0]); // Set 1 if (CrossAbove(High, HighestPrice, 1)) { BarBrush = Brushes.Blue; } // Set 2 if (CrossBelow(Low, LowestPrice, 1)) { BarBrush = Brushes.Yellow; } highestBarsAgo = HighestBar(High, 60); lowestBarsAgo = LowestBar(Low, 60); }
Comment
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by kinfxhk, 07-14-2026, 09:39 AM
|
0 responses
17 views
0 likes
|
Last Post
by kinfxhk
07-14-2026, 09:39 AM
|
||
|
Started by kinfxhk, 07-13-2026, 10:18 AM
|
0 responses
59 views
0 likes
|
Last Post
by kinfxhk
07-13-2026, 10:18 AM
|
||
|
Started by kinfxhk, 07-13-2026, 09:50 AM
|
0 responses
42 views
0 likes
|
Last Post
by kinfxhk
07-13-2026, 09:50 AM
|
||
|
Started by kinfxhk, 07-13-2026, 07:21 AM
|
0 responses
47 views
0 likes
|
Last Post
by kinfxhk
07-13-2026, 07:21 AM
|
||
|
Started by kinfxhk, 07-11-2026, 02:11 AM
|
0 responses
38 views
0 likes
|
Last Post
by kinfxhk
07-11-2026, 02:11 AM
|

Comment