Syntax
Public function SpeedResistanceLines(ByRef Data As Database, ByRef OHLCV As RecordSet, ByVal StartPeriod As Integer, ByVal EndPeriod As Integer) As RecordSet
Overview
Speed Resistance Lines (or 1/3 2/3 fan lines) is a group of trendlines that divide a price change into three equal partitions.
Interpretation
The degree of slope for each trendline differs slightly. Prices are usually expected to have support and resistance near these trendlines.
Note
The TA SpeedResistanceLines function is different from other TA functions.
The function returns a Recordset object, however, the returned values are present only between the start and end periods of the calculation as specified in the function arguments. All other values in the returned Recordset object will equal to zero (0).
Class: LineStudy
Parameters
Return Type | Returns object of type RecordSet. |
Default Field Name(s) | SpeedResistanceLineTop, SpeedResistanceLineMedian, SpeedResistanceLineBottom |
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 =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) 'SpeedResistanceLines indicator Dim _indRecord As New VTLGeneral.RecordSet() Dim ls As New VTLGeneral.LineStudy() _indRecord = ls.SpeedResistanceLines(DB,m_Recordset,9,30) For i = 0 To DB.getRecordCount-1 output = output & CSTR(_indRecord.getValue("SpeedResistanceLineMedian", i) ) & vbcrlf Next GUI.MsgDialog(output) End Sub
See Also
Back to VTL Server Script Index