-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stoch RSI is broken #203
Comments
Hard to tell without any price data or what values you expect versus the ones you get.
Do other indicators work on your computer?
… On Apr 27, 2018, at 5:08 AM, Matic Conradi ***@***.***> wrote:
For some reason I'm getting completely wrong numbers.
fastk, fastd = talib.STOCHRSI(data.close.values, timeperiod=14, fastk_period=3, fastd_period=3)
It looks all good but it isn't. Any ideas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Everything else works. RSI is correct. I feed in BTC/USD data from CCXT library. They are way off from what's actually going on. |
Here's an example (BTC/USD [XBTUSD] from BitMEX): 5min close value candle data (last 20 candles): D: K: The fastK is way off, same for fastD |
Any updates? Do you need aditional info/data? |
I've been trying to get it working but came to the conclusion that Stochastic ( |
Why not try and get a pure python version working with expected output and then we can figure out what you're looking for. Seems like it's more likely you are defining it differently than TA-Lib. https://sourceforge.net/p/ta-lib/code/HEAD/tree/trunk/ta-lib/c/src/ta_func/ta_STOCHRSI.c This might be a little different than you expect, and I didn't really debug or test it, but posting here for discussion. import numpy as np
import pandas as pd
def STOCH(h, l, c, fastk_period, slowk_period, slowd_period):
hh = pd.rolling_max(h, fastk_period, min_periods=fastk_period)
ll = pd.rolling_min(l, fastk_period, min_periods=fastk_period)
fast_k = 100 * (c - ll) / (hh - ll)
slow_k = pd.ewma(fast_k, span=slowk_period, min_periods=slowk_period)
slow_d = pd.ewma(slow_k, span=slowd_period, min_periods=slowd_period)
return slow_k, slow_d
def RS(c, n):
diffs = pd.rolling_apply(c, 2, lambda x: x[-1] - x[0], min_periods=1)
ups = pd.rolling_apply(diffs, n, lambda x: np.sum(x[x > 0]), min_periods=n)
downs = pd.rolling_apply(diffs, n, lambda x: -np.sum(x[x < 0]), min_periods=n)
rs = ups / downs
rs[downs == 0] = 0
return rs
def RSI(c, n):
rs = RS(c, n)
rsi = 100 - (100 / (1 + rs))
return rsi
def STOCHRSI(c, timeperiod, fastk_period, fastd_period):
rsi = RSI(c, timeperiod)
return STOCH(rsi, rsi, rsi, timeperiod, fastk_period, fastd_period) I should also note, you can try the TulipIndicators and see if that gives you results you expect. |
I got it working by using Tulip indicators and calling |
I have a similar issue with the normal RSI. I can recognize the ups and downs but the magnitudes are quite different. Do you mind sharing your RSI implementation? |
You can browse the underlying TA-Lib C library if you want: https://github.com/TA-Lib/ta-lib/blob/master/src/ta_func/ta_RSI.c If anyone wants to provide a test case for what they expect and what they get, I could look into it. I suspect a definitional difference, either smoothing related or similar. |
I looked into the definition but that goes over my head. I only recently started programming. The code here is supposed to fetch the last 900 hours of data for BTC-EUR pairing on coinbase (no api-keys required) and plot it. `import pandas as pd #initialize the dates and variables while True:
normal_time = np.vectorize(dt.datetime.fromtimestamp)(result_array[:,0]) rsi_graph = ta.RSI(close_data, timeperiod=14) print(min(normal_time), max(normal_time)) plt.plot(normal_time, rsi_graph) ` |
Hello, I'm having the same problem over here ! Is there any progress on the issue ? Alex |
yes, turned out that the way i created the array for calculating the rsi was in reverse order. |
I'm using the abstract API, the numbers are nonsensical while normal RSI is giving the good results so I guess I'm not doing anything wrong. |
the rsi numbers are nonsensical or the base data? |
The code by Sungod3000 above is not showing correctly. This works in Spyder if you have the correct packages installed:
i.e. |
yes in order to make that work you need to reverse -> "close_data [::-1]" |
They're nonsensical on my data (BTC prices from Binance) using Stoch RSI, while they are totally valid with RSI. Is there any way to help the maintainers figure it out ? |
Do you have a test case showing what you expect versus what you get? I suspect it has to do more with definitional differences (or like the other commenter, data in backwards chronological order instead of forwards).
We have also seen problems with small prices near zero with some crypto currencies.
Unless the Function API works but Abstract API does not and then maybe it’s being used differently or is a bug.
I can look more later today or tomorrow.
… On Nov 28, 2018, at 12:07 PM, Alex Toussaint ***@***.***> wrote:
the rsi numbers are nonsensical or the base data?
They're nonsensical on my data (BTC prices from Binance) using Stoch RSI, while they are totally valid with RSI.
Is there any way to help the maintainers figure it out ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Hello, The code where I'm using it is quite huge, I've used the quickfix provided here :
I'll give you a "working" example of the bug as soon as I can, thanks for the help ! Alex |
are the values exactly same as in the trading view ? For me it did not work , I want to get the values exactly same as trading view but none of the libraries work, |
I believe the tradingview one is a different implementation, see tulip issue : TulipCharts/tulipindicators#23
|
Okay, I understand more. In order to add Stoch RSI to ta-lib, you should add the function to TA-Lib, which you could do following this : https://ta-lib.org/d_misc/how-to_function.html |
I've started to try to implement the function with TA-Lib
Am I missing something? Would be pleased to make this work, I'll publish my TA-Lib fork when done. |
As you can see in the ta-lib source code, it uses fast stoch function after RSI. Just replace it with normal stoch and it works correctly. (I mean same values with Tradingview) LOOKBACK_CALL(STOCHF) should be LOOKBACK_CALL(STOCH) |
Any update on this problem. I use fastk, fastd = talib.STOCHRSI(close, timeperiod=slowperiod, fastk_period=3, fastd_period=3, fastd_matype=0) But can't get the right numbers... Thanks for your help |
fastd_matype=0
Means SMA, and you expect it to be EMA like in trading view
Set MA_TYPE.EMA for each smoothing moving you can
|
Thanks for your input so I just need to change the fastd_matype=0 to fastd_matype=talib.MA_Type.EMA is that right? |
@sinand99 how do you change those settings? Thanks for your help |
hi) stochrsi_wk_1, stochrsi_wd_1 = talib.STOCH(rsi, rsi, rsi, fastk_period=14,slowk_period=3,slowk_matype=0,slowd_period=3, slowd_matype=0)` |
Finally I use Tulip and it's working very well:
|
@bluetyphoon77 you need to congratulate @spyke555 as it was his answer- i tried what he has posted but somehow still now able to get the required values that match tradingview STOCHRSI i commented to check if he could help me by providing a code snippet on how he achieved manual calculation. |
Thank you for the incredible library John - is there a way to force STOCHRSI to consider STOCK instead of STOCHF ? |
Here is an example: >>> import talib
>>> import numpy
>>> c = numpy.random.randn(100) You can print the >>> talib.STOCHRSI(c)
(array([ nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
3.76717443, 2.70876831, 0. , 100. ,
0. , 96.33241266, 15.36227639, 100. ,
62.72093168, 83.19304414, 16.60408449, 43.38698102,
0. , 18.1147527 , 91.93501715, 100. ,
56.94277117, 36.26825354, 0. , 0. ,
100. , 100. , 0. , 0. ,
32.0912658 , 100. , 57.83580898, 77.27810854,
49.69824729, 0. , 64.55140934, 85.87311054,
50.35189501, 100. , 66.84277367, 100. ,
9.24285073, 36.64048166, 0. , 37.914832 ,
93.66947806, 82.36521899, 53.82289748, 18.41583569,
100. , 100. , 54.81596066, 40.60882574,
0. , 29.43748114, 45.14367517, 0. ,
25.47226423, 19.67612782, 52.23303698, 100. ,
100. , 51.38846693, 100. , 40.9050621 ,
29.55785047, 100. , 8.19064563, 0. ,
0. , 23.73882862, 34.87160964, 100. ,
47.03004845, 58.79845783, 0. , 22.90742908,
54.39644817, 42.27017627, 45.27672676, 100. ,
54.50636285, 32.08944274, 49.35204405, 26.04980239]),
array([ nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
37.40425209, 12.95513924, 2.15864758, 34.2362561 , 33.33333333,
65.44413755, 37.23156302, 70.56489635, 59.36106935, 81.97132527,
54.17268677, 47.72803655, 19.99702184, 20.50057791, 36.68325661,
70.01658995, 82.95926277, 64.40367491, 31.07034157, 12.08941785,
33.33333333, 66.66666667, 66.66666667, 33.33333333, 10.6970886 ,
44.03042193, 63.30902493, 78.37130584, 61.60405494, 42.32545195,
38.08321888, 50.14150663, 66.92547163, 78.74166852, 72.39822289,
88.94759122, 58.69520813, 48.62777746, 15.29444413, 24.85177122,
43.86143669, 71.31650969, 76.61919818, 51.53465072, 57.41291105,
72.80527856, 84.93865355, 65.14159547, 31.80826213, 23.34876896,
24.86038544, 24.86038544, 23.53864647, 15.04946402, 32.46047634,
57.30305493, 84.07767899, 83.79615564, 83.79615564, 64.09784301,
56.82097086, 56.82097086, 45.91616537, 36.06354854, 2.73021521,
7.91294287, 19.53681276, 52.87014609, 60.63388603, 68.60950209,
35.27616876, 27.23529564, 25.76795908, 39.85801784, 47.3144504 ,
62.51563434, 66.5943632 , 62.19860186, 45.31594988, 35.83042973])) But, notice how this is just >>> rsi = talib.RSI(c)
>>> talib.STOCHF(rsi, rsi, rsi)
(array([ nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
nan, nan, nan, nan,
3.76717443, 2.70876831, 0. , 100. ,
0. , 96.33241266, 15.36227639, 100. ,
62.72093168, 83.19304414, 16.60408449, 43.38698102,
0. , 18.1147527 , 91.93501715, 100. ,
56.94277117, 36.26825354, 0. , 0. ,
100. , 100. , 0. , 0. ,
32.0912658 , 100. , 57.83580898, 77.27810854,
49.69824729, 0. , 64.55140934, 85.87311054,
50.35189501, 100. , 66.84277367, 100. ,
9.24285073, 36.64048166, 0. , 37.914832 ,
93.66947806, 82.36521899, 53.82289748, 18.41583569,
100. , 100. , 54.81596066, 40.60882574,
0. , 29.43748114, 45.14367517, 0. ,
25.47226423, 19.67612782, 52.23303698, 100. ,
100. , 51.38846693, 100. , 40.9050621 ,
29.55785047, 100. , 8.19064563, 0. ,
0. , 23.73882862, 34.87160964, 100. ,
47.03004845, 58.79845783, 0. , 22.90742908,
54.39644817, 42.27017627, 45.27672676, 100. ,
54.50636285, 32.08944274, 49.35204405, 26.04980239]),
array([ nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
37.40425209, 12.95513924, 2.15864758, 34.2362561 , 33.33333333,
65.44413755, 37.23156302, 70.56489635, 59.36106935, 81.97132527,
54.17268677, 47.72803655, 19.99702184, 20.50057791, 36.68325661,
70.01658995, 82.95926277, 64.40367491, 31.07034157, 12.08941785,
33.33333333, 66.66666667, 66.66666667, 33.33333333, 10.6970886 ,
44.03042193, 63.30902493, 78.37130584, 61.60405494, 42.32545195,
38.08321888, 50.14150663, 66.92547163, 78.74166852, 72.39822289,
88.94759122, 58.69520813, 48.62777746, 15.29444413, 24.85177122,
43.86143669, 71.31650969, 76.61919818, 51.53465072, 57.41291105,
72.80527856, 84.93865355, 65.14159547, 31.80826213, 23.34876896,
24.86038544, 24.86038544, 23.53864647, 15.04946402, 32.46047634,
57.30305493, 84.07767899, 83.79615564, 83.79615564, 64.09784301,
56.82097086, 56.82097086, 45.91616537, 36.06354854, 2.73021521,
7.91294287, 19.53681276, 52.87014609, 60.63388603, 68.60950209,
35.27616876, 27.23529564, 25.76795908, 39.85801784, 47.3144504 ,
62.51563434, 66.5943632 , 62.19860186, 45.31594988, 35.83042973])) So... if you want the alternative definition of >>> rsi = talib.RSI(c)
>>> talib.STOCH(rsi, rsi, rsi) Really, the upstream library should have called it |
I added this example code as a note in the README: |
WOW - this worked too well :) thanks a lot for adding this to README, much needed. |
Thanks a lot guyz ! For sharing ! |
Anyone using Crypto Signals ? Do you know if there is a way to get the right values with their script ? |
if still having a problem with talib stochrsi, you have to install dataclasses before installing pandas-ta Thanks, |
Did the technique I added to the README not work for you? |
thanks for your reply, the technique is not works for me, because of that i have found alternatives
|
In def STOCH() above, fast_k and slow_k are also referred to as %K and %D. %D is the SlowStochastic on Tradingview. |
I'm pretty sure this is the main source of confusion:
>>> import talib
>>> import numpy
>>> c = numpy.random.randn(100)
# this is the library function
>>> k, d = talib.STOCHRSI(c)
# this produces the same result, calling STOCHF
>>> rsi = talib.RSI(c)
>>> k, d = talib.STOCHF(rsi, rsi, rsi)
# you might want this instead, calling STOCH
>>> rsi = talib.RSI(c)
>>> k, d = talib.STOCH(rsi, rsi, rsi) |
It's almost 3 years and I still across this issue and I gave it a few tried but I wasn't able to implement it in Ta-Lib. stochInd = StochRSIIndicator(df.Close)
df.sRSI_d = stochInd.stochrsi_d()*100
df.sRSI_k = stochInd.stochrsi_k()*100 It worked flawlessly and the results are the same as seen in Trading View |
@Zignake Can you please let me know what settings you used for your calculation and TradingView settings? I have tried to tweak the settings, but i cant get the same results. Here are my settings and code:
TradingView settings: Getting very different values. |
This didn't work for you? |
Thanks for quick reply. Unfortunately not, i think i tried every suggested solution here with no luck. I am probably doing something wrong, not sure what tho. Here are some data. Data i am testing it on ( example )
Code
As you can see both Stoch and MACD are wrong, i have tested it on a lot of data. Never getting any proper results for Stoch and MACD with any library :( Edit: Btw my averages are quite often off as well Edit2: I have put there the correct values, the result is much better, but still off. I hope its possible to get closer values
My Values |
I moved to the go package for talib and use the following which most of the time agrees with Trading View:
slowk, _ := talib.Stoch(stock.High, stock.Low, stock.Close, 14, 3, 0, 3, 0)
When I see a difference between talib and Trading View it is because I can’t get the complete data set from Yahoo.
From: LukePenkava ***@***.***>
Sent: Thursday, July 22, 2021 4:35 PM
To: mrjbq7/ta-lib ***@***.***>
Cc: chappcc ***@***.***>; Comment ***@***.***>
Subject: Re: [mrjbq7/ta-lib] Stoch RSI is broken (#203)
@mrjbq7 <https://github.com/mrjbq7>
Thanks for quick reply. Unfortunately not, i think i tried every suggested solution here with no luck. I am probably doing something wrong, not sure what tho. Here are some data.
Data i am testing it on ( example )
NURO - My Results
Date: 20210720 16: 27:10
Price: 4.07 (CORRECT)
ema5: 4.0406790425932115 (CORRECT)
wma10: 4.036945454545423 (CORRECT)
wma20: 4.05735857142856 (CORRECT)
sma50: 4.060712000000001 (CORRECT)
sma150: 4.039709333333329 (CORRECT)
stoch_k: 100.0 (WRONG)
stoch_d: 90.5110338048806 (WRONG)
stoch2_k: 78.91134366943875 (WRONG)
stoch2_d: 49.507357683678265 (WRONG)
macd_green: -0.006643942996008789 (WRONG)
macd_red: -0.001442128098838441 (WRONG)
Code
df["ema5"] = talib.EMA(df["close"], timeperiod=5)
df["wma10"] = talib.WMA(df["close"], timeperiod=10)
df["wma20"] = talib.WMA(df["close"], timeperiod=20)
df["sma50"] = talib.MA(df["close"], timeperiod=50)
df["sma150"] = talib.MA(df["close"], timeperiod=150)
df["stoch_k"], df["stoch_d"] = talib.STOCHRSI(df["close"], timeperiod=14, fastk_period=3, fastd_period=3, std_matype=0)
df["macd_green"], df["macd_red"], df["macd_hist"] = talib.MACD(df["close"], fastperiod=12, slowperiod=26, signalperiod=9)
rsi = talib.RSI(df["close"])
df["stoch2_k"], df["stoch2_d"] = talib.STOCH(rsi, rsi, rsi)
TradingView values
price: 4.07
ema5: 4.04
wma10: 4.04
wma20: 4.06
sma50: 4.06
sma150: 4.04
stoch_k: 24.09
stoch_d: 12.56
macd_green: 0.00
macd_red: 0.02
As you can see both Stoch and MACD are wrong, i have tested it on a lot of data. Never getting any proper results for Stoch and MACD with any library :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#203 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA2XOKVN4XHRULEYSAYZE7LTZB6IZANCNFSM4E5JBKHQ> . <https://github.com/notifications/beacon/AA2XOKT3H2HAIPMHDS6D2JTTZB6IZA5CNFSM4E5JBKH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGTBU7SI.gif>
|
I got it! I have a numbers like StochRSI on Tradingview!
Worked for me! Thanks! |
It works for me !! |
Thanks a lot I'll try it !!Cheeeers |
Hi Xiaoge !
If it is not possible to hire your services, do you know any other dev around here able to help for setting up a little bot based on talib ?
anyone seeing this msg can contact me !
Thanks
________________________________
From: xiaoge ***@***.***>
Sent: Monday, February 7, 2022 12:07 PM
To: mrjbq7/ta-lib ***@***.***>
Cc: bluetyphoon77 ***@***.***>; Mention ***@***.***>
Subject: Re: [mrjbq7/ta-lib] Stoch RSI is broken (#203)
I'm pretty sure this is the main source of confusion:
If you wonder why STOCHRSI gives you different results than you expect, probably you want STOCH applied to RSI, which is a little different than the STOCHRSI which is STOCHF applied to RSI:
>> import talib
>> import numpy
>> c = numpy.random.randn(100)
# this is the library function
>> k, d = talib.STOCHRSI(c)
# this produces the same result, calling STOCHF
>> rsi = talib.RSI(c)
>> k, d = talib.STOCHF(rsi, rsi, rsi)
# you might want this instead, calling STOCH
>> rsi = talib.RSI(c)
>> k, d = talib.STOCH(rsi, rsi, rsi)
I got it! I have a numbers like StochRSI on Tradingview! But you need to complete your code with "14" period:
>> rsi = talib.RSI(c)
>> k, d = talib.STOCH(rsi, rsi, rsi, 14)
Worked for me! Thanks!
It works for me !!
—
Reply to this email directly, view it on GitHub<#203 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJEEGYBZH2DK5BAF66663UDUZ6YZFANCNFSM4E5JBKHQ>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
@bluetyphoon77, not that I think that I can be of much help to you. What exactly is it that you're trying to develop? |
Hi Laukik,
You based your bot on signals from Talib ?
I just want notifications the way I want. No trading.
So it is simple. I could use Talib forks called signals.
But better to start from scratch for the simple things I need
What would be your rates ?
cheers
…________________________________
From: Laukik Avhad ***@***.***>
Sent: Saturday, February 19, 2022 9:23 AM
To: mrjbq7/ta-lib ***@***.***>
Cc: bluetyphoon77 ***@***.***>; Mention ***@***.***>
Subject: Re: [mrjbq7/ta-lib] Stoch RSI is broken (#203)
@bluetyphoon77<https://github.com/bluetyphoon77>, not that I think that I can be of much help to you. What exactly is it that you're trying to develop?
I've tried to make a bot myself but the profit margin was so low in my case that the fees would always get me down to losses. I've been trying to find a solution ever since. Increasing the time frame and then again backtesting my strategies would always give varied hyperparameters every time I tried to train them. If you also have a solution for this, do please let me know.
—
Reply to this email directly, view it on GitHub<#203 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJEEGYGOWVWXKSJMTF4KXKDU35OS3ANCNFSM4E5JBKHQ>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
@bluetyphoon77, |
Hey Laukik
thanks for your answer
please give me your email it will be easier
and my project is really a personal one, the purpose is to make it simpele
I did it myself before but don't want to do it again
😉 it is just notifs on telegram on 4 indicators
so really siple with talib
…________________________________
From: Laukik Avhad ***@***.***>
Sent: Sunday, February 20, 2022 7:50 AM
To: mrjbq7/ta-lib ***@***.***>
Cc: bluetyphoon77 ***@***.***>; Mention ***@***.***>
Subject: Re: [mrjbq7/ta-lib] Stoch RSI is broken (#203)
@bluetyphoon77<https://github.com/bluetyphoon77>,
Actually, as I have multiple different strategies and there wasn't a single package that was sufficient, I have used 2/3 libraries and also had to code a few myself.
As you want notifications, then you would also be needing different packages depending on your strategies.
Yeah, building strategies and frameworks from scratch rather than using the existing ones has been really helpful. Though if you want you can still give a try to this Python package called BackTrader<https://www.backtrader.com/docu/>.
Regarding my rates., tbh, I personally haven't freelanced. But yet I'd like to get to know more about the project, and then we can maybe have a discussion.
—
Reply to this email directly, view it on GitHub<#203 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AJEEGYGJ3FRJLNYY64B3UPTU4CMLJANCNFSM4E5JBKHQ>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hey @bluetyphoon77, you can find my contact info on my profile. 😄 |
@bluetyphoon77 you means you need some notification bot service? As I see you said you use telegram ,is it not satisfied your demand? |
So this is the code I used as you advised:
The
|
if a Python implementation of STOCHRSI is needed this comment is useful |
For some reason I'm getting completely wrong numbers.
fastk, fastd = talib.STOCHRSI(candles.close.values, timeperiod=14, fastk_period=3, fastd_period=3)
Any ideas why it might not work?
The text was updated successfully, but these errors were encountered: