Download software Tutorial videos
Subscription & data-feed pricing Class schedule


New account application Trading resources
Margin rates Stock & option commissions

Attention: Discussion forums are read-only for extended maintenance until further notice.
Welcome Guest, please sign in to participate in a discussion. Search | Active Topics |

Real code Rate this Topic:
Previous Topic · Next Topic Watch this topic · Print this topic ·
rlb1987
Posted : Monday, August 27, 2012 1:07:40 PM
Registered User
Joined: 1/2/2008
Posts: 41

Could you help me transforming the following code to real code for StockFinder?

‘LEN = 30

‘H = high

‘L = low

‘ StdDevX standard deviation


inputs:LEN(30), Smooth(3), Strength(1);
vars: RWH(0), RWL(0),PEAK(0), MEAN(0), STD(0);

RWH = (H[0] - L[LEN]) / (AvgTrueRange(LEN) * SquareRoot(LEN));
RWL = (H[LEN] - L[0]) / (AvgTrueRange(LEN) * SquareRoot(LEN));
PEAK = WAverage((RWH - RWL),3);
MEAN = average(PEAK,LEN);
STD = StdDevx(PEAK,LEN);

if (MEAN + (1.33 * STD)) > 2.08 then value1 = (MEAN + (1.33 * STD))
else value1 = 2.08;

if (MEAN - (1.33 * STD)) < -1.92 then value2 = (MEAN - (1.33 * STD))
else value2 = -1.92;

if PEAK[1] >= 0 and PEAK > 0 then plot2(value1,"+/-97.5%");
if PEAK[1] <= 0 and PEAK < 0 then plot2(value2,"+/-97.5%");
 Plot is as a histogram

Bruce_L
Posted : Wednesday, August 29, 2012 3:35:52 PM


Worden Trainer

Joined: 10/7/2004
Posts: 65,138

I am not familiar with the language being used and am not a programmer in any case. My best guess at a RealCode Indicator based on the code provide would be:

'|******************************************************************
'|*** StockFinder RealCode Indicator - Version 5.0 www.worden.com 
'|*** Copy and paste this header and code into StockFinder *********
'|*** Indicator:Kase Peak Oscilator
'|******************************************************************
'# LEN = UserInput.Integer = 30
Static RWH As New List(Of Single)
Static RWL As New List(Of Single)
Static PEAK As New List(Of Single)
Static SUM As Single
Static SUMSQ As Single
Static ATR As Single
Static SQR As Single
If isFirstBar Then
	RWH.Clear
	RWL.Clear
	PEAK.Clear
	SUM = 0
	ATR = 0
	SQR = System.Math.Sqrt(LEN)
Else
	ATR += System.Math.Max(Price.High, Price.Last(1)) - _
		System.Math.Min(Price.Low, Price.Last(1))
End If
If CurrentIndex > LEN Then
	ATR -= System.Math.Max(Price.High(LEN), Price.Last(LEN + 1)) - _
		System.Math.Min(Price.Low(LEN), Price.Last(LEN + 1))
End If
If CurrentIndex >= LEN Then
	RWH.Insert(0, Price.High - Price.Low(LEN) / (SQR * ATR / LEN))
	RWL.Insert(0, Price.High(LEN) - Price.Low / (SQR * ATR / LEN))
End If
If RWH.Count = 3 Then
	PEAK.Insert(0, 3 * (RWH(0) - RWL(0)) + 2 * (RWH(1) - RWL(1)) + RWH(2) - RWL(2))
	RWH.RemoveAt(2)
End If
If PEAK.Count > 0 Then
	SUM += PEAK(0)
	SUMSQ += PEAK(0) ^ 2
End If
If PEAK.Count = LEN Then
	Dim MEAN As Single = SUM / LEN
	Dim STD As Single = System.Math.Abs((SUMSQ + SUM ^ 2 / LEN) / LEN) ^ .5
	If PEAK(1) >= 0 AndAlso PEAK(0) > 0 Then
		Dim value1 As Single = MEAN + 1.33 * STD
		value1 = System.Math.Max(value1, 2.08)
		Plot = value1
	Else If PEAK(1) <= 0 AndAlso PEAK(0) < 0 Then
		Dim value2 As Single = MEAN - 1.33 * STD
		value2 = System.Math.Min(value2, -1.92)
		Plot = value2
	Else
		Plot = 0
	End If
	SUM -= PEAK(LEN - 1)
	SUMSQ -= PEAK(LEN - 1) ^ 2
	PEAK.RemoveAt(LEN - 1)
Else
	Plot = Single.NaN
End If
If isLastBar Then
	RWH.Clear
	RWL.Clear
	PEAK.Clear
End If


-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Users browsing this topic
Guest-1

Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.