finta icon indicating copy to clipboard operation
finta copied to clipboard

PSAR has a side effect

Open AGG2017 opened this issue 4 years ago • 2 comments

After using PSAR I see that the original data for "close" in ohlc has changed and calling any other function after PSAR will produce wrong results because "close" price is already different.

It is very easy to see that getting the close price by psar=close[0:len(close)] will not create a copy but will be optimized to create a reference to close and any change of psar later will affect the original close values.

One easy fix is to be replaced by psar = close.copy()

AGG2017 avatar Aug 08 '21 00:08 AGG2017

I dislike PSAR code, I am thinking about removing it until it's rewritten into something more pythonic/pandas.

peerchemist avatar Aug 08 '21 12:08 peerchemist

To add to this, psar.psarbear and psar.psarbull are identical. I believe this might be another case of the issue above, where the same variable is being implicitly referenced, leading to unexpected results.

kieran-mackle avatar Dec 02 '21 09:12 kieran-mackle