Accumulative Swing Index
Posted by Mohammad Rahhal, Last modified by Mohammad Rahhal on 27 July 2016 09:28 AM


The Accumulation Swing Index (Wilder) is a cumulative total of the Swing Index.

The Accumulation Swing Index may be analyzed using technical indicators, line studies, and chart patterns, as an alternative view of price action

LimitMoveValue is a double value specifying the limit move value to use in the accumulation calculation

Class: Index


Public function AccumulativeSwingIndex(ByRef Data As DatabaseByRef OHLCV As RecordSet, ByVal LimitMoveValue As Double, Optional ByVal FieldAliasName As String = "") As RecordSet


Return Type Returns object of type Recordset
Default Field Name(s) AccumulativeSwingIndex


Public Sub main()


        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 =ClientCode.Bars(_symbolInfo.ID,VTLGeneral.ENUM_PERIOD.Day)

        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



        _historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_LOW, _recordCount)

        For i  =  0 To _recordCount-1



        _historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_OPEN, _recordCount)

        For i  = 0 To _recordCount-1



        _historyData = ClientCode.GetChartHistory(_symbolInfo.ID, VTLGeneral.ENUM_PERIOD.Day,VTLGeneral.ENUM_HISTORY_TYPE.HIS_CLOSE, _recordCount)

        For i  = 0 To _recordCount-1







        rsOHLCV = DB.getRecordset()

        'SwingIndex indicator

        Dim _indRecord As New  VTLGeneral.RecordSet()

        Dim ind As New VTLGeneral.Index()

        _indRecord = ind.AccumulativeSwingIndex(DB,m_Recordset,20)

        For i = 0 To DB.getRecordCount-1

                output = output  &  CSTR(_indRecord.getValue("SwingIndex", i) ) & vbcrlf




End Sub


See Also

Back to VTL Server Script Index


(0 vote(s))
Not helpful

Comments (0)
Post a new comment
Full Name:
CAPTCHA Verification 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).

Help Desk Software by Hybrid Solutions