Welcome Guest, please sign in to participate in a discussion. Search | Active Topics |

Profile: haschade
About
User Name: haschade
Groups: Gold User, Member, Platinum User, TeleChart
Rank: Registered User
Real Name:
Location
Occupation:
Interests:
Gender: Unsure
Statistics
Joined: Tuesday, August 21, 2007
Last Visit: Friday, September 25, 2015 11:58:16 AM
Number of Posts: 181
[0.06% of all post / 0.03 posts per day]
Avatar
Last 10 Posts
Topic: Close in Top 25 percentile of past year
Posted: Friday, August 28, 2015 12:24:34 PM

In StockFinder / Realcode?

 

Topic: Close in Top 25 percentile of past year
Posted: Thursday, August 27, 2015 2:15:28 PM

I'm looking to create a condition that indicates the close is in the top 25% of all closes in the past year.

Any suggestions?

Topic: TASC Jan 2015: Universal Indicator
Posted: Thursday, August 13, 2015 2:54:49 PM

Bruce,

First, thanks for this -- very much.  I appreciate it.

Second, it mostly  works.

On short BandEdge values (<44) it behaves just like on 2 other platforms.  However, on values higher (like 81, a standard), it is wildly different.  On other platforms, 81 is a smooth, slow moving value.  This cost is highly eratic, even more sensitive than a value of 20.

If anyone could look into it, I&#39;d appreciate it.

Many thanks again.

Topic: TASC Jan 2015: Universal Indicator
Posted: Monday, August 10, 2015 11:01:22 AM

Just wondering if anyone had any success creating this...

Topic: TASC Jan 2015: Universal Indicator
Posted: Monday, August 3, 2015 10:29:22 AM

If it is any help, here is another version.

// Universal Oscillator
// (c) 2014 John F. Ehlers
// TASC January 2015
// mapped to C# for WhenToTrade platform by LvT
 
using System;
 
namespace WTTScripting
{
public partial class Indicator
{
///<scriptname>
///Ehlers Universal Oscillator
///</scriptname>
///<param>
///Length(20)
///</param>
///<plotfuture>
///false
///</plotfuture>
///<summary>
///Plots universal oscillator
///as shown in TASC January 2015
///</summary>
public static double[] UNIOSC(double[] source, string stringParam)
{
//---- Define general script parameters
int currentbar = 1; // barcounter 
int Bars = source.Length; // length of source dataset (bars)
double[] returnvalues = new double[source.Length]; // init of return dataset
 
//---- Define individual script parameters
double WhiteNoise, a1, b1, c1, c2, c3, Filt, Peak, Universal;
double prevWhiteNoise1, prevFilt1, prevFilt2, prevPeak1; //used to store previous values
 
//----  Parse script input parameters "xxx,xxx,xxx,xxx"
int BandEdge; // individual parameter from individual settings
string[] param = stringParam.Split(&#39;,&#39;);
int.TryParse(param[0], out BandEdge);
 
//---- set initial values
WhiteNoise = Filt = Peak = prevFilt1 = Universal = 0;
if (BandEdge == 0) BandEdge = 20;
// initialize first indicator values for return dataset with zero
for (int z = 1; z <= BandEdge + 2; z++) returnvalues[Bars - z] = 0.0;
 
//---- Loop over dataset and do script calculation
int i = Bars-3;
while (i >= 0)
{
//save previous values
prevWhiteNoise1 = WhiteNoise;
prevFilt2 = prevFilt1;
prevFilt1 = Filt;
prevPeak1 = Peak;
 
//start calculation
WhiteNoise = (source[i] - source[i+2]) / 2;
 
// SuperSmoother Filter
a1 = ExpValue(-1.414 * 3.14159 / BandEdge);
b1 = 2 * a1 * Cosine(1.414 * 180 / BandEdge);
c2 = b1;
c3 = -a1 * a1;
c1 = 1 - c2 - c3;
Filt = c1 * (WhiteNoise + prevWhiteNoise1) / 2 + c2 * prevFilt1 + c3 * prevFilt2;
if (currentbar == 1) Filt = 0;
if (currentbar == 2) Filt = c1 * 0 * (source[i] + source[i+1]) / 2 + c2 * prevFilt1;
if (currentbar == 3) Filt = c1 * 0 * (source[i] + source[i+1]) / 2 + c2 * prevFilt1 + c3 * prevFilt2;
 
// Automatic Gain Control (AGC)
Peak = .991 * prevPeak1;
if (currentbar == 1) Peak = .0000001;
if (AbsValue(Filt) > Peak) Peak = AbsValue(Filt);
if (Peak!= 0) Universal = Filt / Peak;
 
//Write back final return value
returnvalues[i] = Universal;
 
currentbar++;
i--;
}
 
return returnvalues;
}
// end individual script indicator function
}
// end of indicator class
}
// end of namespace WTTScripting
 
Topic: TASC Jan 2015: Universal Indicator
Posted: Friday, July 31, 2015 11:39:00 AM
In &ldquo;Whiter Is Brighter,&rdquo; author John Ehlers presents a new indicator he calls the
universal oscillator. It is based on his theory that market data resembles pink noise,
or as he puts it, &ldquo;noise with memory.&rdquo;
In his article, Ehlers has already provided some TradeStation code for his ultimate oscillator
that could be used to create a short-term trading strategy.  Can this be "ported" to StockFinder?
 
The code is also shown below:
 
_Ehlers_Universal Oscillator (Indicator)
 
// Universal Oscillator
// (c) 2014 John F. Ehlers
// TASC January 2015
inputs:
 BandEdge( 20 ) ;
variables:
 WhiteNoise( 0 ),
 a1( 0 ),
 b1( 0 ),
 c1( 0 ),
 c2( 0 ),
 c3( 0 ),
 Filt(0),
 Peak(0),
 Universal( 0 ) ;
 
once
 begin
 if BandEdge <= 0 then
  RaiseRunTimeError( "BandEdge must be > zero" ) ;
 end ;
 
WhiteNoise = ( Close - Close[2] ) / 2 ;
 
// SuperSmoother Filter
a1 = ExpValue( -1.414 * 3.14159 / BandEdge ) ;
b1 = 2 * a1 * Cosine( 1.414 * 180 / BandEdge ) ;
c2 = b1 ;
c3 = -a1 * a1 ;
c1 = 1 - c2 - c3 ;
Filt = c1 * ( WhiteNoise + WhiteNoise [1] ) / 2 +
c2 * Filt[1] + c3 * Filt[2] ;
If Currentbar = 1 then
 Filt = 0 ;
If Currentbar = 2 then
 Filt = c1 * 0 * ( Close + Close[1] ) / 2 + c2 * Filt[1] ;
If Currentbar = 3 then
 Filt = c1 * 0 * ( Close + Close[1] ) / 2 + c2 * Filt[1] +
c3 * Filt[2] ;
 
// Automatic Gain Control (AGC)
Peak = .991 * Peak[1] ;
If Currentbar = 1 then
 Peak = .0000001 ;
If AbsValue( Filt ) > Peak then
 Peak = AbsValue( Filt ) ;
If Peak <> 0 then
 Universal = Filt / Peak ;
Plot1( Universal ) ;
Plot2( 0 ) ;
**    ------------------ */

 

Topic: Simple math
Posted: Monday, July 15, 2013 11:03:36 AM

Thank you Bruce.  I had incorrectly stated the initial formula but have been able to resolve with what you shared.  Many thanks as always!

Topic: Simple math
Posted: Monday, July 15, 2013 10:56:24 AM

Actually, it does plot, but is identical to the first... 

Topic: Simple math
Posted: Monday, July 15, 2013 10:53:11 AM

Thanks Bruce... unfortunately, the second line doesn&#39;t plot.... any suggestions?

 

Topic: Simple math
Posted: Monday, July 15, 2013 10:46:19 AM

I&#39;m trying to plot the following

Price * Volume

and

(8 EMA of Price * Volume) / 1.8

Any help appreciated.