give this a try.
you can massage the TRIX range with TRIX.multiplier.
p.s. I have not tried it in OEC. I merely combined the EasyLanguage code.
if the individual indicator works in OEC, then this combined version should work too.
inputs:
TRIX.multiplier(5),
Price( Close ),
Length( 9 ),
ColorNormLength( 14 ),
UpColor( Yellow ),
DnColor( Red );
variables:
var1( 0 ),
var2( 0 ) ;
var1 = TRIX( Price, Length ) * TRIX.multiplier +50 ;
Plot1( var1, "TRIX" ) ;
Plot2( 50, "ZeroLine" ) ;
condition1 = UpColor >= 0 and DnColor >= 0 ;
if condition1 then
begin
var2 = NormGradientColor( var1, true, ColorNormLength, UpColor,
DnColor ) ;
SetPlotColor( 1, var2 );
end;
condition1 = var1 crosses over 0 ;
if condition1 then
Alert( "Indicator turning positive" )
else
begin
condition1 = var1 crosses under 0 ;
if condition1 then
Alert( "Indicator turning negative" ) ;
end;
{---------------------}
inputs:
R.Length( 14 ),
R.OverSold( 20 ),
R.OverBought( 80 ),
R.OverSColor( blue ),
R.OverBColor( Red ) ;
variables:
var0.R( 0 ) ;
var0.R = PercentR( R.Length ) ;
Plot3( var0.R, "%R" ) ;
Plot4( R.OverBought, "OverBot" ) ;
Plot5( R.OverSold, "OverSld" ) ;
if var0.R > R.OverBought then
SetPlotColor( 3, R.OverBColor )
else if var0.R < R.OverSold then
SetPlotColor( 3, R.OverSColor ) ;
condition1 = var0.R crosses over R.OverSold ;
if condition1 then
Alert( "Indicator exiting oversold zone" )
else
begin
condition1 = var0.R crosses under R.OverBought ;
if condition1 then
Alert( "Indicator exiting overbought zone" ) ;
end;