Volume Rate of Change (ROC)
Posted by Mohammad Rahhal, Last modified by Abdullah Almasharfah on 15 December 2018 11:38 AM

 

Overview
The Volume Rate of Change indicator shows clearly whether or not volume is trending in one direction or another.


Interpretation
Sharp Volume ROC increases may signal price breakouts


Class: General

Function VolumeROC(Database, Field Volume, int Periods, string Alias)
Return Type Recordset
Default Field Name(s) VolumeROC

 

Syntax 

Public Function VolumeROC (ByRef Data As Database, ByRef Volume As Field, ByVal Periods As Integer, Optional ByVal FieldAliasName As String = "") As RecordSet

Return type   

Returns the object of type RecordSet 

Default Field name      

VolumeROC.

Sample 


   
Public Sub main ()

 

        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 =10

        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)

 

        ‘VolumeROC

        Dim _indRecord As New VTLGeneral.RecordSet ()

        Dim gnl As New VTLGeneral.General ()

        _indRecord = gnl. VolumeROC (DB, m_Low, 14)

        For i = 0 to DB.getRecordCount - 1

                Output = output & CSTR (_indRecord.getValue (_indRecord.getName (1), i)) & vbCrLf

        Next

        GUI.MsgDialog (output)

   End Sub


See Also

Back to VTL Server Script Index

 

(0 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
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