Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

3 line break for Amibroker (AFL)
deepu826
almost 14 years ago
Amibroker (AFL)

Rating:
5 / 5 (Votes 1)
Tags:
amibroker, chart

Three Line Break charts display a series of vertical boxes (“lines”) that are based on changes in prices. As with Kagi, Point & Figure, and Renko charts, Three Line Break charts ignore the passage of time.

Screenshots

Similar Indicators / Formulas

ultimate trend
Submitted by ravi0055 over 11 years ago
Heiken Ashi, Bolinger Bands And ADX
Submitted by vole_00 over 13 years ago
bad tick clean
Submitted by pious243 over 11 years ago
Interactive Linear Regression Channel
Submitted by InternetWorm about 13 years ago
Williams Alligator System
Submitted by durgesh1712 about 13 years ago
*Level Breakout system*
Submitted by Tinych about 13 years ago

Indicator / Formula

Copy & Paste Friendly
//------------------------------------------------------------------------------




GraphXSpace = 7;

numline = Param( "Break", 2, 2, 10, 1 );
j = 0;
Line[j] = C[0];
Op[j] = C[0];
direction = 0;
up = 0; // count up lines
down = 0;// count down lines
Count = 1; // count lines

for ( i = 1; i < BarCount; i++ )
{

    if ( direction[j] == 0 ) // continues down
    {
        if ( C[i] < Line[j] )
        {
            j++;
            direction[j] = 0;
            Line[j] = C[i];
            Op[j] = Line[j-1];
            down++;
            up = 0;
            Count++;
        }
        else
        {
            if ( Count == 1 &&	C[i] > OP[j] )// I-st reverse
            {
                j++;
                direction[j] = 1;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                up++;
                down = 0;
                Count++;
            }

            if ( Count > 1 && down  == 1 && C[i] > Line[j-1] )//  reverse after 1 down line
            {
                j++;
                direction[j] = 1;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                up++;
                down = 0;
                Count++;
            }

            if ( Count > 1  && down  > 1 && down < numline && C[i] > Op[j-1] )//simple reverse
            {
                j++;
                direction[j] = 1;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                up++;
                down = 0;
                Count++;
            }

            if (  down >= numline && C[i] > Op[j-( numline -1 )] ) // white trunaround line
            {
                j++;
                direction[j] = 1;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                up++;
                down = 0;
                Count++;
            }
        }



    }
    else // continues up
    {
        if ( C[i] > Line[j] )
        {
            j++;
            direction[j] = 1;
            Line[j] = C[i];
            op[j] = Line[j-1];
            up++;
            down = 0;
            Count++;
        }
        else
        {
            if ( Count == 1  &&	C[i] < OP[j] )// I-st reverse
            {
                j++;
                direction[j] = 0;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                down++;
                up = 0;
                Count++;

            }

            if ( Count > 1 && up  == 1 && C[i] < Line[j-1] )//  reverse after 1 up line
            {
                j++;
                direction[j] = 0;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                down++;
                up = 0;
                Count++;
            }

            if ( Count > 1 && up  > 1 && up < numline && C[i] < Op[j-1] ) //simple reverse
            {
                j++;
                direction[j] = 0;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                down++;
                up = 0;
                Count++;
            }

            if ( up >= numline && C[i] < Op[j-( numline -1 )] )//black trunaround line

            {
                j++;
                direction[j] = 0;
                Line[j] = C[i];
                Op[j] = Op[j-1];
                down++;
                up = 0;
                Count++;
            }
        }
    }
}

delta = BarCount - j - 1;

direction = Ref( direction, - delta );
C = Ref( Line, - delta );
O = ( Ref( Op, -delta ) );
H = L = C;


Plot( C, "", 39, styleCandle );

Title = Name() + "  Three Line Break" + "\n" +
        "Value = " + SelectedValue( C )  + "\n" +
        "Break = " + numline;

1 comments

1. nira_001

Dear Sir, Can u plot volune with TLB just like broker chart ?

Leave Comment

Please login here to leave a comment.

Back