Python talib.PLUS_DI Examples

The following are 9 code examples of talib.PLUS_DI(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module talib , or try the search function .
Example #1
Source File: technical_indicator.py    From NowTrade with MIT License 7 votes vote down vote up
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 
Example #2
Source File: ta.py    From dash-technical-charting with MIT License 6 votes vote down vote up
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) 
Example #3
Source File: di.py    From jesse with MIT License 6 votes vote down vote up
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]) 
Example #4
Source File: ADXSAR.py    From Rqalpha-myquant-learning with Apache License 2.0 6 votes vote down vote up
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


# 你选择的期货数据更新将会触发此段逻辑,例如日线或分钟线更新 
Example #5
Source File: ta_indicator_mixin.py    From strategy with Apache License 2.0 5 votes vote down vote up
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) 
Example #6
Source File: __init__.py    From ebisu with MIT License 5 votes vote down vote up
def di_plus(high, low, close, period=14):
    return talib.PLUS_DI(high, low, close, period) 
Example #7
Source File: test_reg.py    From finta with GNU Lesser General Public License v3.0 5 votes vote down vote up
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] 
Example #8
Source File: talib_wrapper.py    From tia with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
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) 
Example #9
Source File: talib_indicators.py    From qtpylib with Apache License 2.0 5 votes vote down vote up
def PLUS_DI(data, **kwargs):
    _check_talib_presence()
    _, phigh, plow, pclose, _ = _extract_ohlc(data)
    return talib.PLUS_DI(phigh, plow, pclose, **kwargs)