Money Flow Index
Posted by Mohammad Rahhal, Last modified by Abdullah Almasharfah on 18 December 2018 08:13 PM

 

Overview
The Money Flow Index measures the money flow of security, using volume and price for calculations.

Interpretation
Market bottoms below 20 and tops above 80. The divergence of price and Money Flow Index are also used

Class: Index

Syntax

Public function MoneyFlowIndex(ByRef Data As Database, ByRef OHLCV As RecordSet, ByVal Periods As Integer, Optional ByVal FieldAliasName As String = "") As RecordSet

 

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


Sample

Public Sub main()

        'Variables

        Dim _symbolInfo As VTLGeneral.CSymbol=ClientCode.GetSymbolByName("EUR/USD")

        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 m_Volume 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

  m_Volume=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")

        m_Volume.initialize(_recordCount-1, "Volume")

        '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)


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

        For i  = 0 To _recordCount-1

                m_Volume.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)

        m_Recordset.addField(m_Volume)
 

        'Money FlowI ndex  indicator

        Dim monyIndx As New VTLGeneral.RecordSet()

        Dim idx As New VTLGeneral.Index()

        monyIndx = idx.MoneyFlowIndex(DB,m_Recordset,20)
 

        For i = 0 To DB.getRecordCount-1

                output = output  &  CSTR(monyIndx.getValue("MoneyFlowIndex", 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