本文整理汇总了Python中talib.PLUS_DI属性的典型用法代码示例。如果您正苦于以下问题:Python talib.PLUS_DI属性的具体用法?Python talib.PLUS_DI怎么用?Python talib.PLUS_DI使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类talib
的用法示例。
在下文中一共展示了talib.PLUS_DI属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: results
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def results(self, data_frame):
try:
adx = talib.ADX(data_frame['%s_High' %self.symbol].values,
data_frame['%s_Low' %self.symbol].values,
data_frame['%s_Close' %self.symbol].values,
timeperiod=self.period)
plus_di = talib.PLUS_DI(data_frame['%s_High' %self.symbol].values,
data_frame['%s_Low' %self.symbol].values,
data_frame['%s_Close' %self.symbol].values,
timeperiod=self.period)
minus_di = talib.MINUS_DI(data_frame['%s_High' %self.symbol].values,
data_frame['%s_Low' %self.symbol].values,
data_frame['%s_Close' %self.symbol].values,
timeperiod=self.period)
data_frame[self.value] = adx
data_frame[self.plus_di] = plus_di
data_frame[self.minus_di] = minus_di
except KeyError:
data_frame[self.value] = np.nan
data_frame[self.plus_di] = np.nan
data_frame[self.minus_di] = np.nan
示例2: add_PLUS_DI
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def add_PLUS_DI(self, timeperiod=14,
type='line', color='increasing', **kwargs):
"""Plus Directional Indicator."""
if not (self.has_high and self.has_low and self.has_close):
raise Exception()
utils.kwargs_check(kwargs, VALID_TA_KWARGS)
if 'kind' in kwargs:
type = kwargs['kind']
name = 'PLUS_DI({})'.format(str(timeperiod))
self.sec[name] = dict(type=type, color=color)
self.ind[name] = talib.PLUS_DI(self.df[self.hi].values,
self.df[self.lo].values,
self.df[self.cl].values,
timeperiod)
示例3: di
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def di(candles: np.ndarray, period=14, sequential=False) -> DI:
"""
DI - Directional Indicator
:param candles: np.ndarray
:param period: int - default=14
:param sequential: bool - default=False
:return: DI(plus, minus)
"""
if not sequential and len(candles) > 240:
candles = candles[-240:]
MINUS_DI = talib.MINUS_DI(candles[:, 3], candles[:, 4], candles[:, 2], timeperiod=period)
PLUS_DI = talib.PLUS_DI(candles[:, 3], candles[:, 4], candles[:, 2], timeperiod=period)
if sequential:
return DI(PLUS_DI, MINUS_DI)
else:
return DI(PLUS_DI[-1], MINUS_DI[-1])
示例4: plus_di
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def plus_di(self, sym, frequency, *args, **kwargs):
if not self.kbars_ready(sym, frequency):
return []
highs = self.high(sym, frequency)
lows = self.low(sym, frequency)
closes = self.close(sym, frequency)
return ta.PLUS_DI(highs, lows, closes, *args, **kwargs)
示例5: di_plus
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def di_plus(high, low, close, period=14):
return talib.PLUS_DI(high, low, close, period)
示例6: test_dmi
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def test_dmi():
'''test TA.DMI'''
dmp = TA.DMI(ohlc, 14, False)["DI+"]
talib_dmp = talib.PLUS_DI(ohlc["high"], ohlc["low"], ohlc["close"], timeperiod=14)
# assert talib_dmp[-1] == dmp.values[-1]
# assert 25.399441371241316 == 24.99395020211371
pass # close enough
dmn = TA.DMI(ohlc, 14, False)["DI-"]
talib_dmn = talib.MINUS_DI(ohlc["high"], ohlc["low"], ohlc["close"], timeperiod=14)
assert talib_dmn[-1] == dmn.values[-1]
示例7: before_trading
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def before_trading(context):
prices = history_bars(context.s1, context.window, '1d', fields=['high', 'low', 'close', 'open'])
highP = prices['high']
lowP = prices['low']
closeP = prices['close']
openP = prices['open']
context.ADX = ta.ADXR(highP, lowP, closeP, timeperiod=14)
context.Pdi = ta.PLUS_DI(highP, lowP, closeP, timeperiod=14)
context.Ndi = ta.MINUS_DI(highP, lowP, closeP, timeperiod=14)
context.MA_tw = ta.MA(closeP, timeperiod=20)[-5:]
context.MA_fi = ta.MA(closeP, timeperiod=50)[-5:]
context.MA_fork = context.MA_tw > context.MA_fi
context.SAR = ta.SAR(highP, lowP, acceleration=context.acceleration, maximum=0.2)
# context.JQ_selOpen = (context.ADX[-1]>=20) #& (context.ADX[-2]>=20) & (context.ADX[-1]<=30) & (context.ADX[-2]<=30)
context.JW_selOpen = (context.Pdi[-1] <= context.Ndi[-1]) & (context.Pdi[-2] >= context.Ndi[-2])
context.JE_selOpen = (context.MA_fork[-1]) & (context.MA_fork[-2]) & (not context.MA_fork[-3])
context.JR_selOpen = (context.SAR[-1] >= 0.95 * openP[-1]) & (context.SAR[-2] <= 1.05 * closeP[-2])
context.J_selOpen = context.JQ_selOpen & context.JW_selOpen & context.JE_selOpen & context.JR_selOpen
# context.JQ_buyOpen = context.JQ_selOpen
context.JW_buyOpen = (context.Pdi[-1] >= context.Ndi[-1]) & (context.Pdi[-2] <= context.Ndi[-2])
context.JE_buyOpen = (not context.MA_fork[-1]) & (not context.MA_fork[-2]) & (not context.MA_fork[-3])
context.JR_buyOpen = (context.SAR[-2] >= 0.95 * openP[-2]) & (context.SAR[-1] <= 1.05 * closeP[-1])
context.J_buyOpen = context.JQ_buyOpen & context.JW_buyOpen & context.JE_buyOpen & context.JR_buyOpen
# 你选择的期货数据更新将会触发此段逻辑,例如日线或分钟线更新
示例8: PLUS_DI
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def PLUS_DI(frame, n=14, high_col='high', low_col='low', close_col='close'):
return _frame_to_series(frame, [high_col, low_col, close_col], talib.PLUS_DI, n)
示例9: PLUS_DI
# 需要导入模块: import talib [as 别名]
# 或者: from talib import PLUS_DI [as 别名]
def PLUS_DI(data, **kwargs):
_check_talib_presence()
_, phigh, plow, pclose, _ = _extract_ohlc(data)
return talib.PLUS_DI(phigh, plow, pclose, **kwargs)