Syntax
Public function MoneyFlowIndex(ByRef Data As Database, ByRef OHLCV As RecordSet, ByVal Periods As Integer, Optional ByVal FieldAliasName As String = "") As RecordSet
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
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.FieldDim 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