v2 - where I realized the I've gotten the concepts wrong when looking at momentum.
I previously thought the trend balancing point was the same for long and short directions, which gave me weird results using a strategy on top of it. Realizing that, I thought it to be much more ergonomic using separate functions for the balance points instead of returning a tuple of values.
new:
nextTrendBalancePointShort(closeSeries)
calculates the trend balance point for the next candle when short
Parameters:
closeSeries (float): the series of close price values
Returns: the point the price must close above in order to reverse the current position
nextTrendBalancePointLong(closeSeries)
calculates the trend balance point for the next candle when long
Parameters:
closeSeries (float): the series of close price values
Returns: the point the price must close below in order to reverse the current position
changed:
psar(highSeries, lowSeries, closeSeries, start, increment, max)
calculates the parabolic SAR for the given series. Uses defaults as described by Wilder
Parameters:
highSeries (float): the series of high price values
lowSeries (float): the series of low price values
closeSeries (float): the series of close price values
start (float): the initial acceleration factor
increment (float): amount the acceleration factor is incremented each step
max (float): the maximum acceleration factor
Returns: the value of the stop and reverse price
momentum(closeSeries)
calculates the momentum value, representing an acceleration of the current trend direction
Parameters:
closeSeries (float): the series of close price values
Returns: the value of the momentum