Syntax
Public function SwingIndex(ByRef Data As Database, ByRef OHLCV As RecordSet, ByVal LimitMoveValue As Double, Optional ByVal FieldAliasName As String = "") As RecordSet
Overview
The Swing Index (Wilder) is a popular indicator that shows comparative price strength within single security by comparing the current open, high, low and close prices with previous prices.
Interpretation
The Swing Index is a component of the Accumulation Swing Index.
Note
LimitMoveValue is a double value specifying the limit move value to be used in the Swing Index calculations.
Class: Index
Return Type | Returns object of type Recordset |
Default Field Name(s) | SwingIndex |
Sample
Public Sub main() 'Variables Dim _symbolInfo As VTLGeneral.CSymbol=ClientCode.GetSymbolByName("GOLD") Dim DB As New VTLGeneral.Database() 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-1, "Open") m_High.initialize(_recordCount-1, "High") m_Low.initialize(_recordCount-1, "Low") m_Close.initialize(_recordCount-1, "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 = 0 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 = 0 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 = 0 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 = 0 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) 'SwingIndex indicator Dim _indRecord As New VTLGeneral.RecordSet() Dim idx As New VTLGeneral.Index() _indRecord = idx.SwingIndex(DB,m_Recordset,20) For i = 0 To DB.getRecordCount-1 output = output & CSTR(_indRecord.getValue("SwingIndex", i) ) & vbcrlf Next GUI.MsgDialog(output) End Sub
See Also
Back to VTL Server Script Index