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/Price Oscillator

Price Oscillator

1 views 0 December 16, 2021 hybrid-solutions

Syntax

Public function PriceOscillator(ByRef Data As Database, ByRef Source As Field, ByVal LongCycle As Integer, ByVal ShortCycle As Integer, ByVal MAType As Integer, Optional ByVal FieldAliasName As String = "") As RecordSet

Overview

The Price Oscillator shows a spread of two moving averages.

Interpretation

The Price Oscillator is basically a moving average spread. Buying usually occurs when the oscillator rises, and conversely, selling usually occurs when the oscillator falls.

Note

LongCycle is an integer specifying the number of periods to use in the long moving average calculation, ShortCycle is an integer specifying the number of periods to use in the short moving average calculation, and 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).

Class: Oscillator

Properties

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

Sampl

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-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)         'PriceOscillator indicator        Dim _indRecord As New VTLGeneral.RecordSet()        Dim osc As New VTLGeneral.Oscillator()        _indRecord = osc.PriceOscillator(DB,m_High,10,5,2)         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

  • Stochastic Oscillator
  • TRIX
  • Ultimate Oscillator


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.