Welcome Guest, please sign in to participate in a discussion. | Search | Active Topics | |
Registered User Joined: 10/12/2011 Posts: 24
|
Hi Bruce,
I was hoping you could help me with a real code for plotting trend lines through highs & lows. My criteria for the plot is:
1) High Trend Line: Plots last 3 highs. A high is classified when the following condition is true:
Price.High(1) > Price.High (2) And Price.High(1) > Price.High
I want a trend line drawn from Price.High(1) each of the last 3 times the condition was met,.
2) LowTrend Line: Plots last 3 lows. A low is classified when the following condition is true:
Price.low(1) > Price.low(2) And Price.low(1) > Price.low
I want a trend line drawn from Price.low(1) each of the last 3 times the condition was met,.
|
|
Registered User Joined: 10/12/2011 Posts: 24
|
Sorry..low condition is:
Price.low(1) < Price.low(2) And Price.low(1) < Price.low
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
We can create a RealCode Indicator to connect all of the highs which meet your requirements:
'|******************************************************************
'|*** StockFinder RealCode Indicator - Version 5.0 www.worden.com
'|*** Copy and paste this header and code into StockFinder *********
'|*** Indicator:Highs
'|******************************************************************
If Price.High > Price.High(1) AndAlso _
Price.High > Price.High(-1) Then
Plot = Price.High
Else
Plot = Single.NaN
End If
And another RealCode Indicator to connect all of the lows which meet your requirements:
'|******************************************************************
'|*** StockFinder RealCode Indicator - Version 5.0 www.worden.com
'|*** Copy and paste this header and code into StockFinder *********
'|*** Indicator:Lows
'|******************************************************************
If Price.Low < Price.Low(1) AndAlso _
Price.Low < Price.Low(-1) Then
Plot = Price.Low
Else
Plot = Single.NaN
End If
But there is no obvious way to extend these connections to create trendlines.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
To clarify when I say that there is no obvious way to extend these trendlines, we can't extend all three of the possible trendlines created by connecting the different combinations of the three most recent highs in the same indicator.
We can connect the two outside highs when the central high would be at or below the line created by doing so (you can replace everything below the Inherits line in the Class tab of a RealCode Indicator with the following):
Sub New
AutoLoop = False
End Sub
Public Overrides Function Plot() As System.Single
If Price.Bar.Count >= 7 Then
Dim Highs(2) As Integer
Dim Position As Integer = 2
For i As Integer = Price.Bar.Count - 2 To 1 Step -1
If Price.Bar.HighValue(i) > Price.Bar.HighValue(i + 1) AndAlso _
Price.Bar.HighValue(i) > Price.Bar.HighValue(i - 1) Then
Highs(Position) = i
Position -= 1
End If
If Position = -1 Then
Dim Slope As Single = (Price.Bar.HighValue(Highs(2)) - _
Price.Bar.HighValue(Highs(0))) / _
(Highs(2) - Highs(0))
If Price.Bar.HighValue(Highs(1)) <= _
Price.Bar.HighValue(Highs(0)) + _
(Highs(1) - Highs(0)) * Slope Then
Dim trendline As Single = Price.Bar.HighValue(Highs(0))
For j As Integer = Highs(0) To Price.Bar.Count - 1
AddToOutput(Price.Bar.DateValue(j), trendline)
trendline += Slope
Next
End If
Exit For
End If
Next
End If
End Function
End Class
But which two line segments should we connect if the central high would be above the line created by connecting the two outside highs?
It should probably be noted that the above is for an arithmetic scale. The RealCode would need to be different for a logarithmic scale because a straight line in one of these scales is not a straight line in the other scale.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 10/12/2011 Posts: 24
|
Thanks Bruce!
The codes above serve the purpose!
As always, much appreciated!
|
|
Registered User Joined: 12/12/2011 Posts: 28
|
I put this code in stock finder and give errors .
Any way to have a code without errors ?
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
I could not say what the issue might be as you did not specify either the specific RealCode being used or the error messages you are receiving.
The RealCode itself does not contain any errors which result in error messages when properly entered into StockFinder (this is not a guarantee that RealCode is bug free as I am not a programmer, just a comment that it does not result in error messages).
If you provide the details of what you are doing and the error messages you are getting, we might be able to figure out what is causing the issue.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 12/12/2011 Posts: 28
|
I'm copying the code you post on February 20, 2013 10:57:41
from sub new to End Class at the end .
and I paste it in stock finder
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
Make sure you are pasting the that RealCode into the Class tab of the RealCode Editor for a RealCode Indicator as instructed.
Also make sure that you are only replacing everything below the Inherits line in that RealCode and not replacing all of the RealCode in the Class tab.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 12/12/2011 Posts: 28
|
I go to Real code indicator , to class tab , I delete evrything under the inherits line , and I paste your code under the inherits line ( not touching the inherits line )
and it give errors .
What I do wrong ?
I'm trying to make this stockfinder usefull , but to create such a code , is beyound my knowledge ,
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
I do not know what might be going wrong as you appear to be describing the correct steps and I do not get any error messages when doing the same thing in my copy of StockFinder.
Make sure you aren't leaving anything out or adding anything extra to the RealCode. Even a single stray character could cause an error message, so if any of the clarifying text above and below the RealCode is getting pasted as well, it would probably cause an error.
You haven't mentioned what the exact error message or messages are. This could be useful in determining what is causing the issue.
I have attached the indicator along with a copy of price history to this post.
You should be able to Open an attached Indicator directly into a running copy of StockFinder 5 (and save it from within StockFinder 5 if desired). You could also Save it to the \My Documents\StockFinder5\(Your Username)\My Indicators\ folder and then load it like you would any other Indicator (or Copy and Paste it there from wherever it Saves if you can't specify the destination directory when Saving).
Attachments: Connect Recent Highs Demo.sfIndRC - 10 KB, downloaded 962 time(s).
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 12/12/2011 Posts: 28
|
I have it now without errors , I just click on the code window and errors disapeared .
I save it , I press ok and all I have is a line almost vertical , in the indicators window . I dunno what's good for ?
Is any chance to have this line in the price window ? like to have a code like this that I can put it in the
My Condition code editor to find me stocks that have a trend line under their lows ?
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
You should be able to drag and drop the RealCode Indicator onto Price History and select Overlay with Price History to get the RealCode Indicator and Price History into the same pane and scale. The Working with Indicators video explores this in more detail.
Note that while kamisyed seemed to find it useful, it was really only designed as a demo. It only draws a line connected the first most recent high and the third most recent high if the second most recent high does not protrude above that line on an arithmetic chart.
This was designed to point out that it is not usually possible to connect the three most recent highs using a straight line because the central line will usually be above or below that line.
So even though we can identify all of the highs (assuming they are objectively defined as was done by kamisyed) and connect these highs with lines, it does not mean that we could logically extend any particular set of these lines to create trendlines without further refinement of the definition to specify which lines would need to be extended.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 12/12/2011 Posts: 28
|
Is easier to just draw miself the line . so much trouble for a line that doesnt do anything .
it should be a way to find stocks with a line that unite 3 lows ,
|
|
Guest-1 |