Академический Документы
Профессиональный Документы
Культура Документы
0.1 );
Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( z, q, 1 )
Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( Z, q, 1 )
Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1
Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1
if ( HL[i] )
PlotText( "HL", i, L[ i ] - dist[i], colorRed );
if ( LL[i] )
PlotText( "LL", i, L[ i ] - dist[i], colorRed );
}
Filter=HH OR HL OR LH OR LL;
AddColumn(RSI(2),"RSI",1.2);
AddColumn(Close,"PRICE",1.2);
AddColumn(HH,"SHORT");
AddColumn(LH,"LH");
AddColumn(HL,"HL");
AddColumn(LL,"COVER");
AddColumn(V,"volume",1.0);
_SECTION_END();
_SECTION_BEGIN("NR7");
/*********** NR7 System for Chart and Exploration ***********************/
R = H - L;
NR7 = False;
NR4 = False;
m7 = m4 = idm7 = idm4 = idm = 0;
for(i = 7; i < BarCount; i++)
{
if( R[i] < R[i - 1] AND R[i] < R[i -2] AND R[i] < R[i - 3] AND R[i] < R[i - 4] A
ND R[i] < R[i - 5] AND R[i] < R[i - 6])
{
NR7[i] = True;
m7[i] = 1;
}
}
for(i = 4; i < BarCount; i++)
{
if((R[i] < R[i - 1] AND R[i] < R[i -2] AND R[i] < R[i - 3] ) AND NOT NR7[i])
{
NR4[i] = True;
m4[i] = 1;
}
}
IDNR7 = Inside() * NR7;
IDNR4 = Inside() * NR4;
ID = Inside();
idm7 = IIf(IDNR7, 1, 0);
idm4 = IIf(IDNR4, 1, 0);
idm = IIf(id, 1, 0);
for(i = 1; i < BarCount;
{
if(IDNR7[i] == IDNR7[i if(IDNR4[i] == IDNR4[i if(NR7[i] == NR7[i - 1])
i++)
1]) idm7[i] = idm7[i] + idm7[i - 1];
1]) idm4[i] = idm4[i] + idm4[i - 1];
m7[i] = m7[i] + m7[i - 1];
///////////////////////////////////////////////////////////////////////////////
//
Gap Finder
//
AFL that plots that unfilled Gaps encountered within the last N bars.
// Author : Adheer Pai (adheer@gmail.com)
///////////////////////////////////////////////////////////////////////////////
// Input : The number of bars ago from where to start looking for gaps.
// Default is 250 : So, by default we search for Gaps found in last 250 trading
days ( 1 year )
period = Param("Lookback Period", 250, 15, 500);
// If we do not have enough bars, adjust the period accordingly.
if( BarCount - period - 1 < 0 ) period = BarCount - 2;
bIsGapUp = ( L > Ref(H, -1) );
bIsGapDn = ( H < Ref(L, -1) );
// We are not interested in Gap Ups and Gap Downs before the Period e.g. before
the last 250 bars.
// So we clear the values for bars before the ones we are interested in.
for( i = 0 ; i < (BarCount - 1 - period) ; i++ )
{
bIsGapUp[i] = False;
bIsGapDn[i] = False;
}
// Now plot GapUp bars with a Up-Triangle below its low.
PlotShapes(IIf(bIsGapUp, shapeSmallUpTriangle, shapeNone), colorBlue, 0, L, -12
);
// Now plot GapDown bars with a Down-Triangle below its high.
PlotShapes(IIf(bIsGapDn, shapeSmallDownTriangle, shapeNone), colorBlue, 0, H );
// Now walk from the first bar (e.g 250 bars ago, to the current bar)
for( i = (BarCount - period - 1) ; i <= (BarCount - 1) ; i++ )
{
dUpper = 0.0; dLower = 0.0; bFilled = True;
// Is the current bar a Gap-Up bar ?
if( bIsGapUp[i] == True )
{
// If yes, the store the Gap (Upper value) and Lower values.
dUpper = L[i]; dLower = H[i-1]; bFilled = False;
// Now walk till the current bar and see if the Gap values have
been filled from Above.
// I.e prices are falling and the gap is being falled.
for( j = i+1; j <= (BarCount - 1) ; j++ )
{
// Check whether the current low is lesser than the Gap
high. If yes, the Gap
// has been penetrated.
if( L[j] < dUpper )
{
dUpper = L[j];
// Determine whether the Gap has been fully pene
trated - if yes, then the
// Gap has been filled.
if( dUpper <= dLower ) bFilled = True;
}
if( bFilled == True ) break;
}
}
else if( bIsGapDn[i] == True )
{
// Same logic as GapUp - except we check whether the Gap has bee
n pierced from Below.
// i.e Prices are rising and the Gap has been filled.
dUpper = L[i-1]; dLower = H[i]; bFilled = False;
for( j = i+1; j <= (BarCount - 1) ; j++ )
{
if( H[j] > dLower )
{
dLower = H[j];
if( dLower >= dUpper ) bFilled = True;
}
if( bFilled == True ) break;
// Gap was fille
d, so move on to find the next gap.
}
}
if( bFilled == False )
// Gap Not filled - so plot hori
zontal line at the Gap Level.
{
pLine = LineArray(i-1, dLower, BarCount-1,dLower, 1);
//Plot(pLine, "", colorRed, styleDashed);
pLine = LineArray(i-1, dUpper, BarCount-1, dUpper, 1);
//Plot(pLine, "", colorBlue, styleDashed);
}
}