Saturday, September 04, 2010

Bullish Breakaway [UBR]

Descripton
Rules:
1. The first candlestick is a long red candlestick.
2. The second candlestick is a short red candlestick which gaps below the first candlestick.
3. The third candlestick is either a short green candlestick or a short red candlestick which closes below the second candlestick.
4. The fourth candlestick is a short red candlestick which closes below the third candlestick.
5. The fifth candlestick is a long green candlestick which closes in the gap created between the first and second bars.

Pattern Type:
Bullish Reversal.


Variables
TypeIdentifierDescription
Integer_symbolIndexUse for the underlying symbol index on which to calculate the Bullish Breakaway .
Number_minCandleSizeUse for the minimum percentage change (open to close) that a candlestick must change in order to be considered a long candlestick. [Default 2]

OnInitialize
Function Parameters
TypeIdentifierDescription
SymbolsymbolIndexUse for the underlying symbol index on which to calculate the Bullish Breakaway .
NumberminCandleSizeUse for the minimum percentage change (open to close) that a candlestick must change in order to be considered a long candlestick. [Default 1]
Implementation
	 ' Assign the parameters to script variables.
	_symbolIndex = symbolIndex
	_minCandleSize = minCandleSize

OnPattern
Function Parameters
TypeIdentifierDescription
IntegerbarIndex
Implementation
	 ' Get the opening prices of the symbol, indexed by bar index. 
	Define open() As Number = BarOpen(_symbolIndex, barIndex, 5)
	 ' Get the highest prices of the symbol, indexed by bar index. 
	Define high() As Number = BarHigh(_symbolIndex, barIndex, 5)
	 ' Get the lowest prices of the symbol, indexed by bar index. 
	Define low() As Number = BarLow(_symbolIndex, barIndex, 5)
	 ' Get the closing prices of the symbol, indexed by bar index. 
	Define close() As Number = BarClose(_symbolIndex, barIndex, 5)
	 ' Check whether the first candlestick matches.
	If (open(4) > close(4) And _
	    (-100 * (close(4) - open(4)) / open(4) > _minCandleSize)) Then
		 ' Check whether the second candlestick matches.
		If (open(3) > close(3) And _
			high(3) < low(4) And _
			(-100 * (close(3) - open(3)) / open(3) < _minCandleSize)) Then
			 ' Check whether the third candlestick matches.
			If (close(3) > close(2) And _
				MathAbs((100 * (close(2) - open(2)) / open(2)) < _minCandleSize)) Then
				 ' Check whether the fourth candlestick matches.
				If (open(1) > close(1) And _
					close(2) > close(1) And _
					(-100 * (close(1) - open(1)) / open(1) < _minCandleSize)) Then
					 ' Check whether the fifth candlestick matches.
					If (open(0) < close(0) And _
						close(0) < low(4) And _
						close(0) > high(3))
						Return 5
					End If
				End If
			End If
		End If
	End If
	Return 0

Copyright © 2010 IQBroker, LLC. All rights reserved.