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
|