@lizzie
To calculate the Parabolic SAR (Stop and Reverse) using Lua, follow these steps:
1 2 3 4 5 6 7 8 |
local acceleration = 0.02 local maxAcceleration = 0.2 local initialAcceleration = acceleration local high = {} local low = {} local sar = {} local trend = {} |
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 29 30 31 32 33 34 35 36 37 38 39 40 41 |
function calculateSAR() for i = 1, #close do if i == 1 then sar[i] = low[i] trend[i] = "up" acceleration = initialAcceleration else if trend[i - 1] == "up" then sar[i] = sar[i - 1] + acceleration * (high[i - 1] - sar[i - 1]) if sar[i] > low[i] then sar[i] = low[i] end if high[i] > high[i - 1] then acceleration = acceleration + initialAcceleration end else sar[i] = sar[i - 1] + acceleration * (low[i - 1] - sar[i - 1]) if sar[i] < high[i] then sar[i] = high[i] end if low[i] < low[i - 1] then acceleration = acceleration + initialAcceleration end end if trend[i] == "up" then if low[i] < sar[i] then trend[i] = "down" sar[i] = high[i - 1] acceleration = initialAcceleration end else if high[i] > sar[i] then trend[i] = "up" sar[i] = low[i - 1] acceleration = initialAcceleration end end end end end |
1
|
calculateSAR() |
This code snippet outlines the basic approach to calculating the Parabolic SAR values using Lua. Modify and adapt the code to fit your specific requirements and preferences.