Login
Try VertexFX
  • Home
  • Knowledgebase
  • Blog
  • Forum
  • Home
  • Knowledgebase
  • Blog
  • Forum

Oscillator Indicators

home/Knowledge Base/Technical Support/API/Client API's/VTL/VTL Server Scripts/Technical Analysis (TA)/Oscillator Indicators/Volume Oscillator

Volume Oscillator

0 views 0 December 16, 2021 hybrid-solutions

Syntax

Public Function VolumeOscillator(ByRef Data As Database, ByRef Volume As Field, ByVal ShortTerm As Integer, ByVal LongTerm As Integer, ByVal MAType As Integer, ByVal PointsOrPercent As Integer, Optional ByVal FieldAliasName As String = "") As RecordSet

Overview

The Volume Oscillator shows a spread of two different moving averages of volume over a specified period of time.

Interpretation

The Volume Oscillator offers a clear view of whether or not volume is increasing or decreasing.

Note

ShortTerm and LongTerm are both integers specifying the length of time used in the moving average calculations. MAType is an integer specifying the moving average type to be used (Simple = 1, Exponential = 2, TimeSeries = 3, Variable = 4, Triangular = 5, Weighted = 6, VIDYA = 7).
PointsOrPercent is an integer specifying Points output for 1 or Percent output for 2
.

Class: Oscillator

Properties

Function VolumeOscillator(Database, Field Volume, int ShortTerm, int LongTerm, int MAType, int PointsOrPercent, string Alias
Return Type Returns object pf type Recordset
Default Field Name(s) VolumeOscillator

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, "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)         'Oscillator indicator        Dim _indRecord As New VTLGeneral.RecordSet()        Dim osc As New VTLGeneral.Oscillator ()        _indRecord = osc.VolumeOscillator(DB,m_High,7,14,1,1,"")         For i = 1 To DB.getRecordCount                output = output  &  CSTR(_indRecord.getValue(_indRecord.getName(1), i) ) & vbcrlf        Next         GUI.MsgDialog(output) End Sub  

See Also

  • Williams %R
  • AverageTrueRange
  • FractalChaosOsillator

Back to VTL Server Script Index

Was this helpful?

Yes  No
Leave A Comment Cancel reply

About
VertexFX Trader has a closed-loop trading structure with Backoffice dealing desk, Client Terminals, Dedicated Hosting, White Labelling and Bridging Capabilities. Through VertexFX Risk Management Bridge...
Categories
  • Technical Support
  • Social Trading
  • VertexFX Pro Setup
  • Mobile Trader
  • Lite VertexFX Mobile Trader
Community
  • Blog
  • Forum
  • Media Center
Need Support?
If you need any further help, don't hesitate to send a support request to our support team.
Contact Support
  • Privacy Policy
  • Brokers Terms
  • Traders EULA
  • ISV Terms
  • Plugins EULA
  • Copyright 2022 hybridsolutions.com. All Rights Reserved.