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

Moving Average Indicators

home/Knowledge Base/Technical Support/API/Client API's/VTL/VTL Server Scripts/Technical Analysis (TA)/Moving Average Indicators/VIDYA

VIDYA

1 views 0 December 16, 2021 hybrid-solutions

Overview
VIDYA (Volatility Index Dynamic Average), developed by Chande, is a moving average derived from linear regression R2.

Interpretation
A Moving Average is most often used to average values for a smoother representation of the underlying price or indicator. Because VIDYA is a derivative of linear regression, it quickly adapts to volatility.

Note
R2Scale is a double value specifying the R-Squared scale to use in the linear regression calculations.
Chande recommends a value between 0.5 and 0.8 (default value is 0.65).

Class: MovingAverage


Syntax

Public function VIDYA(ByRef Data As Database, ByRef Source As Field, ByVal Periods As Integer, ByVal R2Scale As Double, Optional ByVal FieldAliasName As String = "") As RecordSet

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


Sample

 Public Sub main()        'Variables        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                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)         For i  = 0 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)         'VIDYA indicator        Dim _indRecord As New VTLGeneral.RecordSet()        Dim mv As New VTLGeneral.MovingAverage()        _indRecord = mv.VIDYA(DB,m_High,10,0.65)         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

  • Weighted Moving Average
  • Exponential Moving Average
  • Simple Moving Average


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.