Syntax
Public function PercentRetracement(ByRef Data As Database, ByRef Source As Field, ByVal StartPeriod As Integer, ByVal EndPeriod As Integer) As Note
Overview
Percent Retracement measures the expectation level of price change after a large bull market move.
Interpretation
After prices make new highs, 30% and 50% retracement levels are often calculated using the Percent Retracement method.
Note
The TA PercentRetracement function is different from other TA functions. The function returns a Note object instead of a Recordset object. The Note object will return a value of 1% to 100% by calling the getValue function of the returned Note object and an accompanying string value identifying the market direction (ADVANCING or DECLINING), which can be retrieved by calling the getNote function of the returned Note object.
Class: ChartPattern
Parameters
Return Type |
Return object of type Note |
Sample
Public Sub main()
'Variables
Dim _symbolInfo As VTLGeneral.CSymbol=ClientCode.GetSymbolByName("GOLD")
Dim DB As New VTLGeneral.Database()
Dim rsOHLCV As New VTLGeneral.RecordSet()
Dim RecordCount As Integer
Dim m_Recordset As VTLGeneral.RecordSet
Dim _historyData As object()
Dim output As String
Dim Record As Integer
Dim m_Date As VTLGeneral.Field
Dim m_Open As VTLGeneral.Field
Dim m_High As VTLGeneral.Field
Dim m_Low As VTLGeneral.Field
Dim m_Close As VTLGeneral.Field
Dim j As Integer = 0
Dim i As Integer = 0
Dim _recordCount As Integer =100
m_Recordset = DB.CreateRecord
m_Open = New VTLGeneral.Field
m_High = New VTLGeneral.Field
m_Low = New VTLGeneral.Field
m_Close = New VTLGeneral.Field
DB.RecordCount = _recordCount
RecordCount = _recordCount
'Initialize Recordsets
m_Open.initialize(_recordCount, "Open")
m_High.initialize(_recordCount, "High")
m_Low.initialize(_recordCount, "Low")
m_Close.initialize(_recordCount, "Close")
'load high, low ,open and data
_historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_HIGH, _recordCount)
For i = 1 To _recordCount-1
m_High.setValue(i,_historyData(i))
Next
_historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_LOW, _recordCount)
For i = 1 To _recordCount-1
m_Low.setValue(i,_historyData(i))
Next
_historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_OPEN, _recordCount)
For i = 1 To _recordCount-1
m_Open.setValue(i,_historyData(i))
Next
_historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_CLOSE, _recordCount)
For i = 1 To _recordCount-1
m_Close.setValue(i,_historyData(i))
Next
m_Recordset.addField(m_Open)
m_Recordset.addField(m_High)
m_Recordset.addField(m_Low)
m_Recordset.addField(m_Close)
'PercentRetracement indicator
Dim _indNote As New VTLGeneral.Note()
Dim chartPtr As New VTLGeneral.ChartPattern()
_indNote = chartPtr.PercentRetracement(DB,m_High,15,30)
GUI.MsgDialog(_indNote.getValue())
End Sub
Back to VTL Server Script Index
|