问题描述
首先,我为我的英语不好而道歉。我正在使用谷歌翻译。
我不明白为什么你看到的指标在计算时要乘以100。
我不能用 trix=talib.TRIX (df ('close'),timeperiod = 20)
代替这个。
如果我不能使用它,是否有一个来源可以显示在数学上计算 * 100
和 -1
的位置?
我想给教授留下深刻印象,因为这是我的作业。 感谢您的回答。
和平
df = self.df
"""Prepare indicators for strategy"""
baseline = MA(df['close'],timeperiod=100)
baseline = float(baseline.iloc[-1])
atr = ATR(df['high'],df['low'],df['close'],timeperiod=14)
atr = float(atr.iloc[-1])
trix = TRIX(df['close'],timeperiod=20)
tx = float(trix.iloc[-1])*100
blue = EMA(df['close'],timeperiod=7)
tema = TRIX(blue,timeperiod=20)
tema = float(tema.iloc[-1])*100
////////////////////////////////////////////////////////////////////////////
longCond = current > baseline and tx > tema and self.openPosition == 0
closeLong = tx < tema and self.openPosition > 0
shortCond = current < baseline and tx < tema and self.openPosition == 0
closeShort = tx > tema and self.openPosition < 0
解决方法
TA-Lib 的 TRIX 是一个 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
(src)。它 returns a value 使用其 ROC 函数进行处理。根据{{3}},它的 ROC 函数是:
* The following is the table of Rate-Of-Change implemented in TA-LIB:
* MOM = (price - prevPrice) [Momentum]
* ROC = ((price/prevPrice)-1)*100 [Rate of change]
* ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage]
* ROCR = (price/prevPrice) [Rate of change ratio]
* ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale]
事实上,它将 ROC 返回值乘以 100 this。所以,我不知道你使用了什么 TRIX 函数(binance?)以及它是如何工作的,但 TA-Lib 的 TRIX 以 % 的形式返回结果。
另外,确定你想要在 tema
变量中到底有什么......就TA-Lib'TRIX 函数而言,你会在不必要的乘法之前在ROC(EMA(EMA(EMA(EMA(DATA,7),20),20))
中得到一个tema
.虽然 TA-Lib 有自己的 TEMA 指标 inside,但它是:
* Essentially,a TEMA of time serie 't' is:
* EMA1 = EMA(t,period)
* EMA2 = EMA(EMA(t,period),period)
* EMA3 = EMA(EMA(EMA(t,period))
* TEMA = 3*EMA1 - 3*EMA2 + EMA3
至于 [-1]
应该在这里回答:implementation