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 ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
3 LINE BREAK for Amibroker (AFL)
Copy & Paste Friendly
Back
//------------------------------------------------------------------------------ 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;