How To Compute Parabolic SAR (Stop and Reverse) in Visual Basic?

by bridie_mante , in category: Technical Analysis , 2 months ago

How To Compute Parabolic SAR (Stop and Reverse) in Visual Basic?

Facebook Twitter LinkedIn Whatsapp

1 answer

Member

by craig , 2 months ago

@bridie_mante 

To compute the Parabolic SAR in Visual Basic, you can follow these steps:

  1. Define the variables needed for calculation: acceleration factor (AF), which is typically set to 0.02 and increases by 0.02 after every new high/low extreme point (EP), which is the highest high or lowest low of the current trend
  2. Initialize the SAR (Stop and Reverse) value at the start of the data series as the low of the first data point if it is rising, or the high of the first data point if it is falling.
  3. Calculate the SAR value for each subsequent data point using the following formula: SAR = SAR(previous) + AF(previous) * (EP(previous) - SAR(previous))
  4. Update the AF and EP values at the end of each trend reversal: If the current trend is rising and a new high is reached, update EP to the new high and reset AF to 0.02. If the current trend is falling and a new low is reached, update EP to the new low and reset AF to 0.02.
  5. Repeat the calculation for each data point until the end of the data series.


Here is a sample code snippet in Visual Basic for computing the Parabolic SAR:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim AF As Double = 0.02
Dim EP As Double
Dim SAR As Double

' Initialize SAR value
If data(0) > data(1) Then
    SAR = low(0)
Else
    SAR = high(0)
End If

For i As Integer = 1 To data.Length - 1
    ' Calculate SAR value
    SAR = SAR + AF * (EP - SAR)
    
    ' Update AF and EP values
    If data(i) > data(i - 1) Then
        If high(i) > EP Then
            EP = high(i)
            AF = Math.Min(AF + 0.02, 0.2)
        End If
    Else
        If low(i) < EP Then
            EP = low(i)
            AF = Math.Min(AF + 0.02, 0.2)
        End If
    End If
Next


Please note that in this code snippet, data is an array of price data, high and low are arrays of high and low prices, and the Parabolic SAR values are calculated for each data point. You may need to customize the code to fit your specific use case and data structure.