Percent Retracement
Posted by Mohammad Rahhal, Last modified by Abdullah Almasharfah on 14 December 2018 11:53 PM

 

Overview
Percent Retracement measures the expectation level of price change after a large bull market move.

Interpretation

After prices make new highs, 30% and 50% retracement levels are often calculated using the Percent Retracement method.

Note

The TA PercentRetracement function is different from other TA functions. The function returns a Note object instead of a Recordset object.
The Note object will return a value of 1% to 100% by calling the getValue function of the returned Note object and an accompanying string value identifying the market direction (ADVANCING or DECLINING), which can be retrieved by calling the getNote function of the returned Note object.

Class: ChartPattern

Syntax

Public function PercentRetracement(ByRef Data As Database, ByRef Source As Field, ByVal StartPeriod As IntegerByVal EndPeriod As Integer) As Note

 

Return Type Return object of type Note


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 =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)
 

        'PercentRetracement indicator

        Dim _indNote As New VTLGeneral.Note()

        Dim chartPtr As New VTLGeneral.ChartPattern()

        _indNote = chartPtr.PercentRetracement(DB,m_High,15,30)
 
 

        GUI.MsgDialog(_indNote.getValue())

 

End Sub

 



 
Back to VTL Server Script Index

 

(0 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).

Help Desk Software by Hybrid Solutions