def get_cdlstalledpattern(ohlc): cdlstalledpattern = ta.CDLSTALLEDPATTERN(ohlc['1_open'], ohlc['2_high'], ohlc['3_low'], ohlc['4_close']) ohlc['cdlstalledpattern'] = cdlstalledpattern return ohlc
def stalled(self): """ 名称:Stalled Pattern 停顿形态 简介:三日K线模式,上涨趋势中,第二日长阳线,第三日开盘于前一日收盘价附近,短阳线,预示着上涨结束。 """ result = talib.CDLSTALLEDPATTERN(open=np.array(self.dataframe['open']), high=np.array(self.dataframe['high']), low=np.array(self.dataframe['low']), close=np.array( self.dataframe['close'])) self.dataframe['stalled'] = result
def CDLSTALLEDPATTERN(open, high, low, close): ''' Stalled Pattern 停顿形态 分组: Pattern Recognition 形态识别 简介: 三日K线模式,上涨趋势中,第二日长阳线, 第三日开盘于前一日收盘价附近,短阳线,预示着上涨结束 integer = CDLSTALLEDPATTERN(open, high, low, close) ''' return talib.CDLSTALLEDPATTERN(open, high, low, close)
def stalled_pattern(self, sym, frequency): if not self.kbars_ready(sym, frequency): return [] opens = self.open(sym, frequency) highs = self.high(sym, frequency) lows = self.low(sym, frequency) closes = self.close(sym, frequency) cdl = ta.CDLSTALLEDPATTERN(opens, highs, lows, closes) return cdl
def built_in_scanners(ticker="SPY"): data = yf.download(ticker, start="2020-01-01", end=datetime.today().strftime('%Y-%m-%d')) open = data['Open'] high = data['High'] low = data['Low'] close = data['Close'] # The library's functions runs on yesterday's date, so subtract 1 from today's date. current_date = datetime.today() - timedelta(days=1) current_date_formatted = current_date.strftime('%Y-%m-%d') two_crows = talib.CDL2CROWS(open, high, low, close)[current_date_formatted] three_black_crows = talib.CDL3BLACKCROWS(open, high, low, close)[current_date_formatted] three_inside = talib.CDL3INSIDE(open, high, low, close)[current_date_formatted] three_line_strike = talib.CDL3LINESTRIKE(open, high, low, close)[current_date_formatted] three_outside = talib.CDL3OUTSIDE(open, high, low, close)[current_date_formatted] three_stars_in_south = talib.CDL3STARSINSOUTH( open, high, low, close)[current_date_formatted] three_white_soldiers = talib.CDL3WHITESOLDIERS( open, high, low, close)[current_date_formatted] abandoned_baby = talib.CDLABANDONEDBABY(open, high, low, close)[current_date_formatted] advance_block = talib.CDLADVANCEBLOCK(open, high, low, close)[current_date_formatted] belt_hold = talib.CDLBELTHOLD(open, high, low, close)[current_date_formatted] breakaway = talib.CDLBREAKAWAY(open, high, low, close)[current_date_formatted] closing_marubozu = talib.CDLCLOSINGMARUBOZU(open, high, low, close)[current_date_formatted] concealing_baby_swallow = talib.CDLCONCEALBABYSWALL( open, high, low, close)[current_date_formatted] talib.CDLCOUNTERATTACK(open, high, low, close)[current_date_formatted] dark_cloud_cover = talib.CDLDARKCLOUDCOVER( open, high, low, close, penetration=0)[current_date_formatted] doji = talib.CDLDOJI(open, high, low, close)[current_date_formatted] doji_star = talib.CDLDOJISTAR(open, high, low, close)[current_date_formatted] dragonfly_doji = talib.CDLDRAGONFLYDOJI(open, high, low, close)[current_date_formatted] engulfing_candle = talib.CDLENGULFING(open, high, low, close)[current_date_formatted] evening_doji_star = talib.CDLEVENINGDOJISTAR( open, high, low, close, penetration=0)[current_date_formatted] evening_star = talib.CDLEVENINGSTAR(open, high, low, close, penetration=0)[current_date_formatted] gaps = talib.CDLGAPSIDESIDEWHITE(open, high, low, close)[current_date_formatted] gravestone_doji = talib.CDLGRAVESTONEDOJI(open, high, low, close)[current_date_formatted] hammer = talib.CDLHAMMER(open, high, low, close)[current_date_formatted] hanging_man = talib.CDLHANGINGMAN(open, high, low, close)[current_date_formatted] harami = talib.CDLHARAMI(open, high, low, close)[current_date_formatted] harami_cross = talib.CDLHARAMICROSS(open, high, low, close)[current_date_formatted] high_wave = talib.CDLHIGHWAVE( open, high, low, close)[current_date_formatted][talib.CDLHIGHWAVE != 0] hikkake = talib.CDLHIKKAKE(open, high, low, close)[current_date_formatted] hikkakemod = talib.CDLHIKKAKEMOD(open, high, low, close)[current_date_formatted] homing_pigeon = talib.CDLHOMINGPIGEON(open, high, low, close)[current_date_formatted] identical_three_crows = talib.CDLIDENTICAL3CROWS( open, high, low, close)[current_date_formatted] in_neck = talib.CDLINNECK(open, high, low, close)[current_date_formatted] inverted_hammer = talib.CDLINVERTEDHAMMER(open, high, low, close)[current_date_formatted] kicking = talib.CDLKICKING(open, high, low, close)[current_date_formatted] kicking_by_length = talib.CDLKICKINGBYLENGTH(open, high, low, close)[current_date_formatted] ladder_bottom = talib.CDLLADDERBOTTOM(open, high, low, close)[current_date_formatted] long_legged_doji = talib.CDLLONGLEGGEDDOJI(open, high, low, close)[current_date_formatted] long_line = talib.CDLLONGLINE(open, high, low, close)[current_date_formatted] marubozu = talib.CDLMARUBOZU(open, high, low, close)[current_date_formatted] matching_low = talib.CDLMATCHINGLOW(open, high, low, close)[current_date_formatted] mat_hold = talib.CDLMATHOLD(open, high, low, close, penetration=0)[current_date_formatted] morning_doji_star = talib.CDLMORNINGDOJISTAR( open, high, low, close, penetration=0)[current_date_formatted] morning_star = talib.CDLMORNINGSTAR(open, high, low, close, penetration=0)[current_date_formatted] on_neck = talib.CDLONNECK(open, high, low, close)[current_date_formatted] piercing = talib.CDLPIERCING(open, high, low, close)[current_date_formatted] rickshawman = talib.CDLRICKSHAWMAN(open, high, low, close)[current_date_formatted] rise_fall_3_methods = talib.CDLRISEFALL3METHODS( open, high, low, close)[current_date_formatted] separating_lines = talib.CDLSEPARATINGLINES(open, high, low, close)[current_date_formatted] shooting_star = talib.CDLSHOOTINGSTAR(open, high, low, close)[current_date_formatted] shortline = talib.CDLSHORTLINE(open, high, low, close)[current_date_formatted] spinning_top = talib.CDLSPINNINGTOP(open, high, low, close)[current_date_formatted] stalled_pattern = talib.CDLSTALLEDPATTERN(open, high, low, close)[current_date_formatted] stick_sandwich = talib.CDLSTICKSANDWICH(open, high, low, close)[current_date_formatted] takuri = talib.CDLTAKURI(open, high, low, close)[current_date_formatted] tasuki_gap = talib.CDLTASUKIGAP(open, high, low, close)[current_date_formatted] thrusting = talib.CDLTHRUSTING(open, high, low, close)[current_date_formatted] tristar = talib.CDLTRISTAR(open, high, low, close)[current_date_formatted] unique_three_river = talib.CDLUNIQUE3RIVER(open, high, low, close)[current_date_formatted] upside_gap_two_crows = talib.CDLUPSIDEGAP2CROWS( open, high, low, close)[current_date_formatted] upside_downside_gap_three_methods = talib.CDLXSIDEGAP3METHODS( open, high, low, close)[current_date_formatted] patterns = list(vars().keys())[7:] values = list(vars().values())[7:] for index in range(0, len(patterns)): if (values[index] != 0): print(patterns[index]) print(values[index])
def all_candels(df): df['two_crow'] = talib.CDL2CROWS(df.open,df.high,df.low,df.close) df['three_black_crows'] = talib.CDL3BLACKCROWS(df.open,df.high,df.low,df.close) df['threeinside updown'] = talib.CDL3INSIDE(df.open,df.high,df.low,df.close) df['threelinestrike'] = talib.CDL3LINESTRIKE(df.open,df.high,df.low,df.close) df['3outside'] = talib.CDL3OUTSIDE(df.open,df.high,df.low,df.close) df['3starsinsouth'] = talib.CDL3STARSINSOUTH(df.open,df.high,df.low,df.close) df['3WHITESOLDIERS'] = talib.CDL3WHITESOLDIERS(df.open,df.high,df.low,df.close) df['ABANDONEDBABY'] = talib.CDLABANDONEDBABY(df.open,df.high,df.low,df.close) df['ADVANCEBLOCK'] = talib.CDLADVANCEBLOCK(df.open,df.high,df.low,df.close) df['BELTHOLD'] = talib.CDLBELTHOLD(df.open,df.high,df.low,df.close) df['BREAKAWAY'] = talib.CDLBREAKAWAY(df.open,df.high,df.low,df.close) df['CLOSINGMARUBOZU'] = talib.CDLCLOSINGMARUBOZU(df.open,df.high,df.low,df.close) df['CONCEALBABYSWALL'] = talib.CDLCONCEALBABYSWALL(df.open,df.high,df.low,df.close) df['COUNTERATTACK'] = talib.CDLCOUNTERATTACK(df.open,df.high,df.low,df.close) df['DARKCLOUDCOVER'] = talib.CDLDARKCLOUDCOVER(df.open,df.high,df.low,df.close) df['DOJI'] = talib.CDLDOJI(df.open,df.high,df.low,df.close) df['DOJISTAR'] = talib.CDLDOJISTAR(df.open,df.high,df.low,df.close) df['DRAGONFLYDOJI'] = talib.CDLDRAGONFLYDOJI(df.open,df.high,df.low,df.close) df['ENGULFING'] = talib.CDLENGULFING(df.open,df.high,df.low,df.close) df['EVENINGDOJISTAR'] = talib.CDLEVENINGDOJISTAR(df.open,df.high,df.low,df.close) df['EVENINGSTAR'] = talib.CDLEVENINGSTAR(df.open,df.high,df.low,df.close) df['GAPSIDESIDEWHITE'] = talib.CDLGAPSIDESIDEWHITE(df.open,df.high,df.low,df.close) df['GRAVESTONEDOJI'] = talib.CDLGRAVESTONEDOJI(df.open,df.high,df.low,df.close) df['HAMMER'] = talib.CDLHAMMER(df.open,df.high,df.low,df.close) df['HANGINGMAN'] = talib.CDLHANGINGMAN(df.open,df.high,df.low,df.close) df['HARAMI'] = talib.CDLHARAMI(df.open,df.high,df.low,df.close) df['HARAMICROSS'] = talib.CDLHARAMICROSS(df.open,df.high,df.low,df.close) df['HIGHWAVE'] = talib.CDLHIGHWAVE(df.open,df.high,df.low,df.close) df['HIKKAKE'] = talib.CDLHIKKAKE(df.open,df.high,df.low,df.close) df['HIKKAKEMOD'] = talib.CDLHIKKAKEMOD(df.open,df.high,df.low,df.close) df['HOMINGPIGEON'] = talib.CDLHOMINGPIGEON(df.open,df.high,df.low,df.close) df['IDENTICAL3CROWS'] = talib.CDLIDENTICAL3CROWS(df.open,df.high,df.low,df.close) df['INNECK'] = talib.CDLINNECK(df.open,df.high,df.low,df.close) df['INVERTEDHAMMER'] = talib.CDLINVERTEDHAMMER(df.open,df.high,df.low,df.close) df['KICKING'] = talib.CDLKICKING(df.open,df.high,df.low,df.close) df['KICKINGBYLENGTH'] = talib.CDLKICKINGBYLENGTH(df.open,df.high,df.low,df.close) df['LADDERBOTTOM'] = talib.CDLLADDERBOTTOM(df.open,df.high,df.low,df.close) df['LONGLEGGEDDOJI'] = talib.CDLLONGLEGGEDDOJI(df.open,df.high,df.low,df.close) df['LONGLINE'] = talib.CDLLONGLINE(df.open,df.high,df.low,df.close) df['MARUBOZU'] = talib.CDLMARUBOZU(df.open,df.high,df.low,df.close) df['MATCHINGLOW'] = talib.CDLMATCHINGLOW(df.open,df.high,df.low,df.close) df['MATHOLD'] = talib.CDLMATHOLD(df.open,df.high,df.low,df.close) df['MORNINGDOJISTAR'] = talib.CDLMORNINGDOJISTAR(df.open,df.high,df.low,df.close) df['MORNINGSTAR'] = talib.CDLMORNINGSTAR(df.open,df.high,df.low,df.close) df['ONNECK'] = talib.CDLONNECK(df.open,df.high,df.low,df.close) df['PIERCING'] = talib.CDLPIERCING(df.open,df.high,df.low,df.close) df['RICKSHAWMAN'] = talib.CDLRICKSHAWMAN(df.open,df.high,df.low,df.close) df['RISEFALL3METHODS'] = talib.CDLRISEFALL3METHODS(df.open,df.high,df.low,df.close) df['SEPARATINGLINES'] = talib.CDLSEPARATINGLINES(df.open,df.high,df.low,df.close) df['SHOOTINGSTAR'] = talib.CDLSHOOTINGSTAR(df.open,df.high,df.low,df.close) df['SHORTLINE'] = talib.CDLSHORTLINE(df.open,df.high,df.low,df.close) df['SPINNINGTOP'] = talib.CDLSPINNINGTOP(df.open,df.high,df.low,df.close) df['STALLEDPATTERN'] = talib.CDLSTALLEDPATTERN(df.open,df.high,df.low,df.close) df['STICKSANDWICH'] = talib.CDLSTICKSANDWICH(df.open,df.high,df.low,df.close) df['TAKURI'] = talib.CDLTAKURI(df.open,df.high,df.low,df.close) df['TASUKIGAP'] = talib.CDLTASUKIGAP(df.open,df.high,df.low,df.close) df['THRUSTING'] = talib.CDLTHRUSTING(df.open,df.high,df.low,df.close) df['TRISTAR'] = talib.CDLTRISTAR(df.open,df.high,df.low,df.close) df['UNIQUE3RIVER'] = talib.CDLUNIQUE3RIVER(df.open,df.high,df.low,df.close) df['UPSIDEGAP2CROWS'] = talib.CDLUPSIDEGAP2CROWS(df.open,df.high,df.low,df.close) df['XSIDEGAP3METHODS'] = talib.CDLXSIDEGAP3METHODS(df.open,df.high,df.low,df.close) return df
def get_technical_indicators(dataset): # Create 7 and 21 days Moving Average dataset['ma7'] = dataset['Adj Close'].rolling(window=7).mean() dataset['ma21'] = dataset['Adj Close'].rolling(window=21).mean() # Create Exponential moving average dataset['ema'] = dataset['Adj Close'].ewm(com=0.5).mean() # Create MACD dataset['26ema'] = dataset['Adj Close'].ewm(span=26).mean() dataset['12ema'] = dataset['Adj Close'].ewm(span=12).mean() dataset['MACD'] = (dataset['12ema'] - dataset['26ema']) # Create Momentum dataset['momentum'] = dataset['Adj Close'] - 1 # Create Bollinger Bands dataset['20sd'] = dataset['Adj Close'].rolling(20).std() dataset['upper_band'] = dataset['ma21'] + (dataset['20sd'] * 2) dataset['lower_band'] = dataset['ma21'] - (dataset['20sd'] * 2) # Create RSI indicator dataset['RSI'] = ta.RSI(np.array(dataset['Adj Close'])) #Part I: Create Cycle Indicators #Create HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period dataset['HT_DCPERIOD'] = ta.HT_DCPERIOD(np.array(dataset['Adj Close'])) #Create HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase dataset['HT_DCPHASE'] = ta.HT_DCPHASE(np.array(dataset['Adj Close'])) #HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode dataset['HT_TRENDMODE'] = ta.HT_TRENDMODE(np.array(dataset['Adj Close'])) #Part II: Create Volatility Indicators #Create Average True Range dataset['ATR'] = ta.ATR(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create NATR - Normalized Average True Range dataset['NATR'] = ta.NATR(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create TRANGE - True Range dataset['TRANGE'] = ta.TRANGE(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Part III Overlap Studies #Create DEMA - Double Exponential Moving Average dataset['DEMA'] = ta.DEMA(np.array(dataset['Adj Close']), timeperiod=30) #Create HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline dataset['HT_TRENDLINE'] = ta.HT_TRENDLINE(np.array(dataset['Adj Close'])) #Create KAMA - Kaufman Adaptive Moving Average dataset['KAMA'] = ta.KAMA(np.array(dataset['Adj Close']), timeperiod=30) #Create MIDPOINT - MidPoint over period dataset['MIDPOINT'] = ta.MIDPOINT(np.array(dataset['Adj Close']), timeperiod=14) #Create MIDPRICE - Midpoint Price over period dataset['MIDPRICE'] = ta.MIDPRICE(np.array(dataset['High']), np.array(dataset['Low']), timeperiod=14) #Create SAR - Parabolic SAR dataset['SAR'] = ta.SAR(np.array(dataset['High']), np.array(dataset['Low']), acceleration=0, maximum=0) #Create SMA - Simple Moving Average dataset['SMA10'] = ta.SMA(np.array(dataset['Adj Close']), timeperiod=10) #Create T3 - Triple Exponential Moving Average (T3) dataset['T3'] = ta.T3(np.array(dataset['Adj Close']), timeperiod=5, vfactor=0) #Create TRIMA - Triangular Moving Average dataset['TRIMA'] = ta.TRIMA(np.array(dataset['Adj Close']), timeperiod=30) #Create WMA - Weighted Moving Average dataset['WMA'] = ta.WMA(np.array(dataset['Adj Close']), timeperiod=30) #PART IV Momentum Indicators #Create ADX - Average Directional Movement Index dataset['ADX14'] = ta.ADX(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) dataset['ADX20'] = ta.ADX(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=20) #Create ADXR - Average Directional Movement Index Rating dataset['ADXR'] = ta.ADXR(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create APO - Absolute Price Oscillator dataset['APO'] = ta.APO(np.array(dataset['Adj Close']), fastperiod=12, slowperiod=26, matype=0) #Create AROONOSC - Aroon Oscillator dataset['AROONOSC'] = ta.AROONOSC(np.array(dataset['High']), np.array(dataset['Low']), timeperiod=14) #Create BOP - Balance Of Power dataset['BOP'] = ta.BOP(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CCI - Commodity Channel Index dataset['CCI3'] = ta.CCI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=3) dataset['CCI5'] = ta.CCI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=5) dataset['CCI10'] = ta.CCI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=10) dataset['CCI14'] = ta.CCI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create CMO - Chande Momentum Oscillator dataset['CMO'] = ta.CMO(np.array(dataset['Adj Close']), timeperiod=14) #Create DX - Directional Movement Index dataset['DX'] = ta.DX(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create MINUS_DI - Minus Directional Indicator dataset['MINUS_DI'] = ta.MINUS_DI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create MINUS_DM - Minus Directional Movement dataset['MINUS_DM'] = ta.MINUS_DM(np.array(dataset['High']), np.array(dataset['Low']), timeperiod=14) #Create MOM - Momentum dataset['MOM3'] = ta.MOM(np.array(dataset['Adj Close']), timeperiod=3) dataset['MOM5'] = ta.MOM(np.array(dataset['Adj Close']), timeperiod=5) dataset['MOM10'] = ta.MOM(np.array(dataset['Adj Close']), timeperiod=10) #Create PLUS_DI - Plus Directional Indicator dataset['PLUS_DI'] = ta.PLUS_DI(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Create PLUS_DM - Plus Directional Movement dataset['PLUS_DM'] = ta.PLUS_DM(np.array(dataset['High']), np.array(dataset['Low']), timeperiod=14) #Create PPO - Percentage Price Oscillator dataset['PPO'] = ta.PPO(np.array(dataset['Adj Close']), fastperiod=12, slowperiod=26, matype=0) #Create ROC - Rate of change : ((price/prevPrice)-1)*100 dataset['ROC'] = ta.ROC(np.array(dataset['Adj Close']), timeperiod=10) #Create ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice dataset['ROCP'] = ta.ROCP(np.array(dataset['Adj Close']), timeperiod=10) #Create ROCR - Rate of change ratio: (price/prevPrice) dataset['ROCR'] = ta.ROCR(np.array(dataset['Adj Close']), timeperiod=10) #Create ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100 dataset['ROCR100'] = ta.ROCR100(np.array(dataset['Adj Close']), timeperiod=10) #Create RSI - Relative Strength Index dataset['RSI5'] = ta.RSI(np.array(dataset['Adj Close']), timeperiod=5) dataset['RSI10'] = ta.RSI(np.array(dataset['Adj Close']), timeperiod=10) dataset['RSI14'] = ta.RSI(np.array(dataset['Adj Close']), timeperiod=14) #Create TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA dataset['TRIX'] = ta.TRIX(np.array(dataset['Adj Close']), timeperiod=30) #Create ULTOSC - Ultimate Oscillator dataset['ULTOSC'] = ta.ULTOSC(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod1=7, timeperiod2=14, timeperiod3=28) #Create WILLR - Williams' %R dataset['WILLR'] = ta.WILLR(np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), timeperiod=14) #Part V Pattern Recognition #Create CDL2CROWS - Two Crows dataset['CDL2CROWS'] = ta.CDL2CROWS(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3BLACKCROWS - Three Black Crows dataset['CDL3BLACKCROWS'] = ta.CDL3BLACKCROWS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3INSIDE - Three Inside Up/Down dataset['CDL3INSIDE'] = ta.CDL3INSIDE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3LINESTRIKE - Three-Line Strike dataset['CDL3LINESTRIKE'] = ta.CDL3LINESTRIKE( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3OUTSIDE - Three Outside Up/Down dataset['CDL3OUTSIDE'] = ta.CDL3OUTSIDE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3STARSINSOUTH - Three Stars In The South dataset['CDL3STARSINSOUTH '] = ta.CDL3STARSINSOUTH( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDL3WHITESOLDIERS - Three Advancing White Soldiers dataset['CDL3WHITESOLDIERS'] = ta.CDL3WHITESOLDIERS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLABANDONEDBABY - Abandoned Baby dataset['CDLABANDONEDBABY'] = ta.CDLABANDONEDBABY( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), penetration=0) #Create CDLADVANCEBLOCK - Advance Block dataset['CDLADVANCEBLOCK'] = ta.CDLADVANCEBLOCK( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLBELTHOLD - Belt-hold dataset['CDLBELTHOLD'] = ta.CDLBELTHOLD(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLBREAKAWAY - Breakaway dataset['CDLBREAKAWAY'] = ta.CDLBREAKAWAY(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLCLOSINGMARUBOZU - Closing Marubozu dataset['CDLCLOSINGMARUBOZU'] = ta.CDLCLOSINGMARUBOZU( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLCONCEALBABYSWALL - Concealing Baby Swalnp.array(dataset['Low']) dataset['CDLCONCEALBABYSWALL'] = ta.CDLCONCEALBABYSWALL( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLCOUNTERATTACK - Counterattack dataset['CDLCOUNTERATTACK'] = ta.CDLCOUNTERATTACK( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLDARKCLOUDCOVER - Dark Cloud Cover dataset['CDLDARKCLOUDCOVER'] = ta.CDLDARKCLOUDCOVER( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), penetration=0) #Create CDLDOJI - Doji dataset['CDLDOJI'] = ta.CDLDOJI(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLDOJISTAR - Doji Star dataset['CDLDOJISTAR'] = ta.CDLDOJISTAR(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLDRAGONFLYDOJI - Dragonfly Doji dataset['CDLDRAGONFLYDOJI'] = ta.CDLDRAGONFLYDOJI( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLENGULFING - Engulfing Pattern dataset['CDLENGULFING'] = ta.CDLENGULFING(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLEVENINGDOJISTAR - Evening Doji Star dataset['CDLEVENINGDOJISTAR'] = ta.CDLEVENINGDOJISTAR( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), penetration=0) #Create CDLEVENINGSTAR - Evening Star dataset['CDLEVENINGSTAR'] = ta.CDLEVENINGSTAR(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array( dataset['Adj Close']), penetration=0) #Create CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines dataset['CDLGAPSIDESIDEWHITE'] = ta.CDLGAPSIDESIDEWHITE( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLGRAVESTONEDOJI - Gravestone Doji dataset['CDLGRAVESTONEDOJI'] = ta.CDLGRAVESTONEDOJI( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHAMMER - Hammer dataset['CDLHAMMER'] = ta.CDLHAMMER(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHANGINGMAN - Hanging Man dataset['CDLHANGINGMAN'] = ta.CDLHANGINGMAN(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHARAMI - Harami Pattern dataset['CDLHARAMI'] = ta.CDLHARAMI(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHARAMICROSS - Harami Cross Pattern dataset['CDLHARAMICROSS'] = ta.CDLHARAMICROSS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHIGHWAVE - High-Wave Candle dataset['CDLHIGHWAVE'] = ta.CDLHIGHWAVE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHIKKAKE - Hikkake Pattern dataset['CDLHIKKAKE'] = ta.CDLHIKKAKE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHIKKAKEMOD - Modified Hikkake Pattern dataset['CDLHIKKAKEMOD'] = ta.CDLHIKKAKEMOD(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLHOMINGPIGEON - Homing Pigeon dataset['CDLHOMINGPIGEON'] = ta.CDLHOMINGPIGEON( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLIDENTICAL3CROWS - Identical Three Crows dataset['CDLIDENTICAL3CROWS'] = ta.CDLIDENTICAL3CROWS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLINNECK - In-Neck Pattern dataset['CDLINNECK'] = ta.CDLINNECK(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLINVERTEDHAMMER - Inverted Hammer dataset['CDLINVERTEDHAMMER'] = ta.CDLINVERTEDHAMMER( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLKICKING - Kicking dataset['CDLKICKING'] = ta.CDLKICKING(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu dataset['CDLKICKINGBYLENGTH'] = ta.CDLKICKINGBYLENGTH( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLLADDERBOTTOM - Ladder Bottom dataset['CDLLADDERBOTTOM'] = ta.CDLLADDERBOTTOM( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLLONGLEGGEDDOJI - Long Legged Doji dataset['CDLLONGLEGGEDDOJI'] = ta.CDLLONGLEGGEDDOJI( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLLONGLINE - Long Line Candle dataset['CDLLONGLINE'] = ta.CDLLONGLINE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLMARUBOZU - Marubozu dataset['CDLMARUBOZU'] = ta.CDLMARUBOZU(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLMATCHINGLOW - Matching Low dataset['CDLMATCHINGLOW'] = ta.CDLMATCHINGLOW( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLMATHOLD - Mat Hold dataset['CDLMATHOLD'] = ta.CDLMATHOLD(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), penetration=0) #Create CDLMORNINGDOJISTAR - Morning Doji Star dataset['CDLMORNINGDOJISTAR'] = ta.CDLMORNINGDOJISTAR( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close']), penetration=0) #Create CDLMORNINGSTAR - Morning Star dataset['CDLMORNINGSTAR'] = ta.CDLMORNINGSTAR(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array( dataset['Adj Close']), penetration=0) #Create CDLONNECK - On-Neck Pattern dataset['CDLONNECK'] = ta.CDLONNECK(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLPIERCING - Piercing Pattern dataset['CDLPIERCING'] = ta.CDLPIERCING(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLRICKSHAWMAN - Rickshaw Man dataset['CDLRICKSHAWMAN'] = ta.CDLRICKSHAWMAN( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLRISEFALL3METHODS - Rising/Falling Three Methods dataset['CDLRISEFALL3METHODS'] = ta.CDLRISEFALL3METHODS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSEPARATINGLINES - Separating Lines dataset['CDLSEPARATINGLINES'] = ta.CDLSEPARATINGLINES( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSHOOTINGSTAR - Shooting Star dataset['CDLSHOOTINGSTAR'] = ta.CDLSHOOTINGSTAR( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSHORTLINE - Short Line Candle dataset['CDLSHORTLINE'] = ta.CDLSHORTLINE(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSPINNINGTOP - Spinning Top dataset['CDLSPINNINGTOP'] = ta.CDLSPINNINGTOP( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSTALLEDPATTERN - Stalled Pattern dataset['CDLSTALLEDPATTERN'] = ta.CDLSTALLEDPATTERN( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLSTICKSANDWICH - Stick Sandwich dataset['CDLSTICKSANDWICH'] = ta.CDLSTICKSANDWICH( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLTAKURI - Takuri (Dragonfly Doji with very long np.array(dataset['Low'])er shadow) dataset['CDLTAKURI'] = ta.CDLTAKURI(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLTASUKIGAP - Tasuki Gap dataset['CDLTASUKIGAP'] = ta.CDLTASUKIGAP(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLTHRUSTING - Thrusting Pattern dataset['CDLTHRUSTING'] = ta.CDLTHRUSTING(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLTRISTAR - Tristar Pattern dataset['CDLTRISTAR'] = ta.CDLTRISTAR(np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLUNIQUE3RIVER - Unique 3 River dataset['CDLUNIQUE3RIVER'] = ta.CDLUNIQUE3RIVER( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLUPSIDEGAP2CROWS - Upside Gap Two Crows dataset['CDLUPSIDEGAP2CROWS'] = ta.CDLUPSIDEGAP2CROWS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) #Create CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods dataset['CDLXSIDEGAP3METHODS'] = ta.CDLXSIDEGAP3METHODS( np.array(dataset['Open']), np.array(dataset['High']), np.array(dataset['Low']), np.array(dataset['Adj Close'])) return dataset
def CDLSTALLEDPATTERN(data): res = talib.CDLSTALLEDPATTERN( data.open.values, data.high.values, data.low.values, data.close.values) return pd.DataFrame({'CDLSTALLEDPATTERN': res}, index=data.index)
resorted['close']) CDLSEPARATINGLINES_real = talib.CDLSEPARATINGLINES( resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLSHOOTINGSTAR_real = talib.CDLSHOOTINGSTAR( resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLSHORTLINE_real = talib.CDLSHORTLINE(resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLSPINNINGTOP_real = talib.CDLSPINNINGTOP( resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLSTALLEDPATTERN_real = talib.CDLSTALLEDPATTERN( resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLSTICKSANDWICH_real = talib.CDLSTICKSANDWICH( resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLTAKURI_real = talib.CDLTAKURI(resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLTASUKIGAP_real = talib.CDLTASUKIGAP(resorted['open'], resorted['high'], resorted['low'], resorted['close']) CDLTHRUSTING_real = talib.CDLTHRUSTING(resorted['open'], resorted['high'], resorted['low'],
def create_signal_dataframe(df_): o = np.array(df_['始値']) c = np.array(df_['終値']) l = np.array(df_['安値']) h = np.array(df_['高値']) df = df_.copy() df['CDL2CROWS'] = ta.CDL2CROWS(o, h, l, c) df['CDL3BLACKCROWS'] = ta.CDL3BLACKCROWS(o, h, l, c) df['CDL3INSIDE'] = ta.CDL3INSIDE(o, h, l, c) df['CDL3LINESTRIKE'] = ta.CDL3LINESTRIKE(o, h, l, c) df['CDL3OUTSIDE'] = ta.CDL3OUTSIDE(o, h, l, c) df['CDL3STARSINSOUTH'] = ta.CDL3STARSINSOUTH(o, h, l, c) df['CDL3WHITESOLDIERS'] = ta.CDL3WHITESOLDIERS(o, h, l, c) df['CDLABANDONEDBABY'] = ta.CDLABANDONEDBABY(o, h, l, c) df['CDLADVANCEBLOCK'] = ta.CDLADVANCEBLOCK(o, h, l, c) df['CDLBELTHOLD'] = ta.CDLBELTHOLD(o, h, l, c) df['CDLBREAKAWAY'] = ta.CDLBREAKAWAY(o, h, l, c) df['CDLCLOSINGMARUBOZU'] = ta.CDLCLOSINGMARUBOZU(o, h, l, c) df['CDLCONCEALBABYSWALL'] = ta.CDLCONCEALBABYSWALL(o, h, l, c) df['CDLCOUNTERATTACK'] = ta.CDLCOUNTERATTACK(o, h, l, c) df['CDLDARKCLOUDCOVER'] = ta.CDLDARKCLOUDCOVER(o, h, l, c) df['CDLDOJI'] = ta.CDLDOJI(o, h, l, c) df['CDLDOJISTAR'] = ta.CDLDOJISTAR(o, h, l, c) df['CDLDRAGONFLYDOJI'] = ta.CDLDRAGONFLYDOJI(o, h, l, c) df['CDLENGULFING'] = ta.CDLENGULFING(o, h, l, c) df['CDLEVENINGDOJISTAR'] = ta.CDLEVENINGDOJISTAR(o, h, l, c) df['CDLEVENINGSTAR'] = ta.CDLEVENINGSTAR(o, h, l, c) df['CDLGAPSIDESIDEWHITE'] = ta.CDLGAPSIDESIDEWHITE(o, h, l, c) df['CDLGRAVESTONEDOJI'] = ta.CDLGRAVESTONEDOJI(o, h, l, c) df['CDLHAMMER'] = ta.CDLHAMMER(o, h, l, c) df['CDLHANGINGMAN'] = ta.CDLHANGINGMAN(o, h, l, c) df['CDLHARAMI'] = ta.CDLHARAMI(o, h, l, c) df['CDLHARAMICROSS'] = ta.CDLHARAMICROSS(o, h, l, c) df['CDLHIGHWAVE'] = ta.CDLHIGHWAVE(o, h, l, c) df['CDLHIKKAKE'] = ta.CDLHIKKAKE(o, h, l, c) df['CDLHIKKAKEMOD'] = ta.CDLHIKKAKEMOD(o, h, l, c) df['CDLHOMINGPIGEON'] = ta.CDLHOMINGPIGEON(o, h, l, c) df['CDLIDENTICAL3CROWS'] = ta.CDLIDENTICAL3CROWS(o, h, l, c) df['CDLINNECK'] = ta.CDLINNECK(o, h, l, c) df['CDLINVERTEDHAMMER'] = ta.CDLINVERTEDHAMMER(o, h, l, c) df['CDLKICKING'] = ta.CDLKICKING(o, h, l, c) df['CDLKICKINGBYLENGTH'] = ta.CDLKICKINGBYLENGTH(o, h, l, c) df['CDLLADDERBOTTOM'] = ta.CDLLADDERBOTTOM(o, h, l, c) df['CDLLONGLEGGEDDOJI'] = ta.CDLLONGLEGGEDDOJI(o, h, l, c) df['CDLLONGLINE'] = ta.CDLLONGLINE(o, h, l, c) df['CDLMARUBOZU'] = ta.CDLMARUBOZU(o, h, l, c) df['CDLMATCHINGLOW'] = ta.CDLMATCHINGLOW(o, h, l, c) df['CDLMATHOLD'] = ta.CDLMATHOLD(o, h, l, c) df['CDLMORNINGDOJISTAR'] = ta.CDLMORNINGDOJISTAR(o, h, l, c) df['CDLMORNINGSTAR'] = ta.CDLMORNINGSTAR(o, h, l, c) df['CDLONNECK'] = ta.CDLONNECK(o, h, l, c) df['CDLPIERCING'] = ta.CDLPIERCING(o, h, l, c) df['CDLRICKSHAWMAN'] = ta.CDLRICKSHAWMAN(o, h, l, c) df['CDLRISEFALL3METHODS'] = ta.CDLRISEFALL3METHODS(o, h, l, c) df['CDLSEPARATINGLINES'] = ta.CDLSEPARATINGLINES(o, h, l, c) df['CDLSHOOTINGSTAR'] = ta.CDLSHOOTINGSTAR(o, h, l, c) df['CDLSHORTLINE'] = ta.CDLSHORTLINE(o, h, l, c) df['CDLSPINNINGTOP'] = ta.CDLSPINNINGTOP(o, h, l, c) df['CDLSTALLEDPATTERN'] = ta.CDLSTALLEDPATTERN(o, h, l, c) df['CDLSTICKSANDWICH'] = ta.CDLSTICKSANDWICH(o, h, l, c) df['CDLTAKURI'] = ta.CDLTAKURI(o, h, l, c) df['CDLTASUKIGAP'] = ta.CDLTASUKIGAP(o, h, l, c) df['CDLTHRUSTING'] = ta.CDLTHRUSTING(o, h, l, c) df['CDLTRISTAR'] = ta.CDLTRISTAR(o, h, l, c) df['CDLUNIQUE3RIVER'] = ta.CDLUNIQUE3RIVER(o, h, l, c) df['CDLUPSIDEGAP2CROWS'] = ta.CDLUPSIDEGAP2CROWS(o, h, l, c) df['CDLXSIDEGAP3METHODS'] = ta.CDLXSIDEGAP3METHODS(o, h, l, c) return df
def collectDATA(self, start_dt, end_dt, para_min, threshold): # 建立数据库连接,剔除已入库的部分 db = pymysql.connect(host='127.0.0.1', user='******', passwd='admin', db='stock', charset='utf8') cursor = db.cursor() if para_min == 'day': sql_done_set = "SELECT * FROM btc_day a where state_dt >= '%s' and state_dt <= '%s' order by state_dt asc" % ( start_dt, end_dt) else: sql_done_set = "SELECT * FROM btc_%smin a where state_dt >= '%s' and state_dt <= '%s' order by state_dt asc" % ( str(para_min), start_dt, end_dt) cursor.execute(sql_done_set) done_set = cursor.fetchall() if len(done_set) == 0: raise Exception self.date_seq = [] self.open_list = [] self.close_list = [] self.high_list = [] self.low_list = [] self.vol_list = [] self.amount_list = [] self.tor_list = [] self.vr_list = [] self.ma5_list = [] self.ma10_list = [] self.ma20_list = [] self.ma30_list = [] self.ma60_list = [] for i in range(len(done_set)): self.date_seq.append(done_set[i][0]) self.open_list.append(float(done_set[i][1])) self.close_list.append(float(done_set[i][2])) self.high_list.append(float(done_set[i][3])) self.low_list.append(float(done_set[i][4])) self.vol_list.append(float(done_set[i][6])) self.amount_list.append(float(done_set[i][5])) db.close() cdl_2crows = ta.CDL2CROWS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3blackcrows = ta.CDL3BLACKCROWS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3inside = ta.CDL3INSIDE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3linestrike = ta.CDL3LINESTRIKE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3outside = ta.CDL3OUTSIDE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3starsinsouth = ta.CDL3STARSINSOUTH(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3whitesoldiers = ta.CDL3WHITESOLDIERS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_abandonedbaby = ta.CDLABANDONEDBABY(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_advancedblock = ta.CDLADVANCEBLOCK(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_belthold = ta.CDLBELTHOLD(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_breakaway = ta.CDLBREAKAWAY(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_closing = ta.CDLCLOSINGMARUBOZU(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_conbaby = ta.CDLCONCEALBABYSWALL(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_counterattack = ta.CDLCOUNTERATTACK(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_darkcloud = ta.CDLDARKCLOUDCOVER(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_doji = ta.CDLDOJI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_dojistar = ta.CDLDOJISTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_dragondoji = ta.CDLDRAGONFLYDOJI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_eng = ta.CDLENGULFING(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_evedoji = ta.CDLEVENINGDOJISTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_evestar = ta.CDLEVENINGSTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_gapside = ta.CDLGAPSIDESIDEWHITE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_gravedoji = ta.CDLGRAVESTONEDOJI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_hammer = ta.CDLHAMMER(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_hanging = ta.CDLHANGINGMAN(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_hara = ta.CDLHARAMI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_haracross = ta.CDLHARAMICROSS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_highwave = ta.CDLHIGHWAVE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_hikk = ta.CDLHIKKAKE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_hikkmod = ta.CDLHIKKAKEMOD(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_homing = ta.CDLHOMINGPIGEON(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_i3crows = ta.CDLIDENTICAL3CROWS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_inneck = ta.CDLINNECK(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_inverhammer = ta.CDLINVERTEDHAMMER(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_kicking = ta.CDLKICKING(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_kicking2 = ta.CDLKICKINGBYLENGTH(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_ladder = ta.CDLLADDERBOTTOM(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_longdoji = ta.CDLLONGLEGGEDDOJI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_longline = ta.CDLLONGLINE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_marubo = ta.CDLMARUBOZU(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_matchinglow = ta.CDLMATCHINGLOW(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_mathold = ta.CDLMATHOLD(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_morningdoji = ta.CDLMORNINGDOJISTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_morningstar = ta.CDLMORNINGSTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_onneck = ta.CDLONNECK(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_pier = ta.CDLPIERCING(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_rick = ta.CDLRICKSHAWMAN(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_3methords = ta.CDLRISEFALL3METHODS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_seprate = ta.CDLSEPARATINGLINES(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_shoot = ta.CDLSHOOTINGSTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_shortcandle = ta.CDLSHORTLINE(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_spin = ta.CDLSPINNINGTOP(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_stalled = ta.CDLSTALLEDPATTERN(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_sandwich = ta.CDLSTICKSANDWICH(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_taku = ta.CDLTAKURI(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_takugap = ta.CDLTASUKIGAP(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_thrust = ta.CDLTHRUSTING(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_tristar = ta.CDLTRISTAR(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_uni = ta.CDLUNIQUE3RIVER(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_upgap = ta.CDLUPSIDEGAP2CROWS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) cdl_xside = ta.CDLXSIDEGAP3METHODS(np.array(self.open_list), np.array(self.high_list), np.array(self.low_list), np.array(self.close_list)) self.data_train = [] self.data_target = [] self.data_target_onehot = [] for i in range(len(self.close_list) - 5): train = [ cdl_2crows[i], cdl_3blackcrows[i], cdl_3inside[i], cdl_3linestrike[i], cdl_3outside[i], cdl_3starsinsouth[i], cdl_3whitesoldiers[i], cdl_abandonedbaby[i], cdl_advancedblock[i], cdl_belthold[i], cdl_breakaway[i], cdl_closing[i], cdl_conbaby[i], cdl_counterattack[i], cdl_darkcloud[i], cdl_doji[i], cdl_dojistar[i], cdl_dragondoji[i], cdl_eng[i], cdl_evedoji[i], cdl_evestar[i], cdl_gapside[i], cdl_gravedoji[i], cdl_hammer[i], cdl_hanging[i], cdl_hara[i], cdl_haracross[i], cdl_highwave[i], cdl_hikk[i], cdl_hikkmod[i], cdl_homing[i], cdl_i3crows[i], cdl_inneck[i], cdl_inverhammer[i], cdl_kicking[i], cdl_kicking2[i], cdl_ladder[i], cdl_longdoji[i], cdl_longline[i], cdl_marubo[i], cdl_matchinglow[i], cdl_mathold[i], cdl_morningdoji[i], cdl_morningstar[i], cdl_onneck[i], cdl_pier[i], cdl_rick[i], cdl_3methords[i], cdl_seprate[i], cdl_shoot[i], cdl_shortcandle[i], cdl_spin[i], cdl_stalled[i], cdl_sandwich[i], cdl_taku[i], cdl_takugap[i], cdl_thrust[i], cdl_tristar[i], cdl_uni[i], cdl_upgap[i], cdl_xside[i] ] self.data_train.append(np.array(train)) # after_max_price = max(self.close_list[i+1:i + 5]) # after_min_price = min(self.close_list[i+1:i+5]) # if after_max_price / self.close_list[i] >= 1.01: # self.data_target.append(float(1.00)) # self.data_target_onehot.append([1,0,0]) # elif after_min_price / self.close_list[i] < 0.99: # self.data_target.append(float(-1.00)) # self.data_target_onehot.append([0,1,0]) # else: # self.data_target.append(float(0.00)) # self.data_target_onehot.append([0,0,1]) after_mean_price = np.array(self.close_list[i + 1:i + 5]).mean() if after_mean_price / self.close_list[i] > threshold: self.data_target.append(float(1.00)) self.data_target_onehot.append([1, 0, 0]) else: self.data_target.append(float(-1.00)) self.data_target_onehot.append([0, 1, 0]) self.cnt_pos = 0 self.cnt_pos = len([x for x in self.data_target if x == 1.00]) self.test_case = [] self.test_case = np.array([ cdl_2crows[-1], cdl_3blackcrows[-1], cdl_3inside[-1], cdl_3linestrike[-1], cdl_3outside[-1], cdl_3starsinsouth[-1], cdl_3whitesoldiers[-1], cdl_abandonedbaby[-1], cdl_advancedblock[-1], cdl_belthold[-1], cdl_breakaway[-1], cdl_closing[-1], cdl_conbaby[-1], cdl_counterattack[-1], cdl_darkcloud[-1], cdl_doji[-1], cdl_dojistar[-1], cdl_dragondoji[-1], cdl_eng[-1], cdl_evedoji[-1], cdl_evestar[-1], cdl_gapside[-1], cdl_gravedoji[-1], cdl_hammer[-1], cdl_hanging[-1], cdl_hara[-1], cdl_haracross[-1], cdl_highwave[-1], cdl_hikk[-1], cdl_hikkmod[-1], cdl_homing[-1], cdl_i3crows[-1], cdl_inneck[-1], cdl_inverhammer[-1], cdl_kicking[-1], cdl_kicking2[-1], cdl_ladder[-1], cdl_longdoji[-1], cdl_longline[-1], cdl_marubo[-1], cdl_matchinglow[-1], cdl_mathold[-1], cdl_morningdoji[-1], cdl_morningstar[-1], cdl_onneck[-1], cdl_pier[-1], cdl_rick[-1], cdl_3methords[-1], cdl_seprate[-1], cdl_shoot[-1], cdl_shortcandle[-1], cdl_spin[-1], cdl_stalled[-1], cdl_sandwich[-1], cdl_taku[-1], cdl_takugap[-1], cdl_thrust[-1], cdl_tristar[-1], cdl_uni[-1], cdl_upgap[-1], cdl_xside[-1] ]) self.data_train = np.array(self.data_train) self.data_target = np.array(self.data_target)
def add_indicator(data): open = data.Open high = data.High low = data.Low close = data.Close volume = data.Volume data['CDL2CROWS'] = talib.CDL2CROWS(open, high, low, close) data['CDL3BLACKCROWS'] = talib.CDL3BLACKCROWS(open, high, low, close) data['CDL3INSIDE'] = talib.CDL3INSIDE(open, high, low, close) data['CDL3LINESTRIKE'] = talib.CDL3LINESTRIKE(open, high, low, close) data['CDL3OUTSIDE'] = talib.CDL3OUTSIDE(open, high, low, close) data['CDL3STARSINSOUTH'] = talib.CDL3STARSINSOUTH(open, high, low, close) data['CDL3WHITESOLDIERS'] = talib.CDL3WHITESOLDIERS(open, high, low, close) data['CDLABANDONEDBABY'] = talib.CDLABANDONEDBABY(open, high, low, close, penetration=0) data['CDLADVANCEBLOCK'] = talib.CDLADVANCEBLOCK(open, high, low, close) data['CDLBELTHOLD'] = talib.CDLBELTHOLD(open, high, low, close) data['CDLBREAKAWAY'] = talib.CDLBREAKAWAY(open, high, low, close) data['CDLCLOSINGMARUBOZU'] = talib.CDLCLOSINGMARUBOZU( open, high, low, close) data['CDLCONCEALBABYSWALL'] = talib.CDLCONCEALBABYSWALL( open, high, low, close) data['CDLCOUNTERATTACK'] = talib.CDLCOUNTERATTACK(open, high, low, close) data['CDLDARKCLOUDCOVER'] = talib.CDLDARKCLOUDCOVER(open, high, low, close, penetration=0) data['CDLDOJI'] = talib.CDLDOJI(open, high, low, close) data['CDLDOJISTAR'] = talib.CDLDOJISTAR(open, high, low, close) data['CDLDRAGONFLYDOJI'] = talib.CDLDRAGONFLYDOJI(open, high, low, close) data['CDLENGULFING'] = talib.CDLENGULFING(open, high, low, close) data['CDLEVENINGDOJISTAR'] = talib.CDLEVENINGDOJISTAR(open, high, low, close, penetration=0) data['CDLEVENINGSTAR'] = talib.CDLEVENINGSTAR(open, high, low, close, penetration=0) data['CDLGAPSIDESIDEWHITE'] = talib.CDLGAPSIDESIDEWHITE( open, high, low, close) data['CDLGRAVESTONEDOJI'] = talib.CDLGRAVESTONEDOJI(open, high, low, close) data['CDLHAMMER'] = talib.CDLHAMMER(open, high, low, close) data['CDLHANGINGMAN'] = talib.CDLHANGINGMAN(open, high, low, close) data['CDLHARAMI'] = talib.CDLHARAMI(open, high, low, close) data['CDLHARAMICROSS'] = talib.CDLHARAMICROSS(open, high, low, close) data['CDLHIGHWAVE'] = talib.CDLHIGHWAVE(open, high, low, close) data['CDLHIKKAKE'] = talib.CDLHIKKAKE(open, high, low, close) data['CDLHIKKAKEMOD'] = talib.CDLHIKKAKEMOD(open, high, low, close) data['CDLHOMINGPIGEON'] = talib.CDLHOMINGPIGEON(open, high, low, close) data['CDLIDENTICAL3CROWS'] = talib.CDLIDENTICAL3CROWS( open, high, low, close) data['CDLINNECK'] = talib.CDLINNECK(open, high, low, close) data['CDLINVERTEDHAMMER'] = talib.CDLINVERTEDHAMMER(open, high, low, close) data['CDLKICKING'] = talib.CDLKICKING(open, high, low, close) data['CDLKICKINGBYLENGTH'] = talib.CDLKICKINGBYLENGTH( open, high, low, close) data['CDLLADDERBOTTOM'] = talib.CDLLADDERBOTTOM(open, high, low, close) data['CDLLONGLEGGEDDOJI'] = talib.CDLLONGLEGGEDDOJI(open, high, low, close) data['CDLLONGLINE'] = talib.CDLLONGLINE(open, high, low, close) data['CDLMARUBOZU'] = talib.CDLMARUBOZU(open, high, low, close) data['CDLMATCHINGLOW'] = talib.CDLMATCHINGLOW(open, high, low, close) data['CDLMATHOLD'] = talib.CDLMATHOLD(open, high, low, close, penetration=0) data['CDLMORNINGDOJISTAR'] = talib.CDLMORNINGDOJISTAR(open, high, low, close, penetration=0) data['CDLMORNINGSTAR'] = talib.CDLMORNINGSTAR(open, high, low, close, penetration=0) data['CDLONNECK'] = talib.CDLONNECK(open, high, low, close) data['CDLPIERCING'] = talib.CDLPIERCING(open, high, low, close) data['CDLRICKSHAWMAN'] = talib.CDLRICKSHAWMAN(open, high, low, close) data['CDLRISEFALL3METHODS'] = talib.CDLRISEFALL3METHODS( open, high, low, close) data['CDLSEPARATINGLINES'] = talib.CDLSEPARATINGLINES( open, high, low, close) data['CDLSHOOTINGSTAR'] = talib.CDLSHOOTINGSTAR(open, high, low, close) data['CDLSHORTLINE'] = talib.CDLSHORTLINE(open, high, low, close) data['CDLSPINNINGTOP'] = talib.CDLSPINNINGTOP(open, high, low, close) data['CDLSTALLEDPATTERN'] = talib.CDLSTALLEDPATTERN(open, high, low, close) data['CDLSTICKSANDWICH'] = talib.CDLSTICKSANDWICH(open, high, low, close) data['CDLTAKURI'] = talib.CDLTAKURI(open, high, low, close) data['CDLTASUKIGAP'] = talib.CDLTASUKIGAP(open, high, low, close) data['CDLTHRUSTING'] = talib.CDLTHRUSTING(open, high, low, close) data['CDLTRISTAR'] = talib.CDLTRISTAR(open, high, low, close) data['CDLUNIQUE3RIVER'] = talib.CDLUNIQUE3RIVER(open, high, low, close) data['CDLUPSIDEGAP2CROWS'] = talib.CDLUPSIDEGAP2CROWS( open, high, low, close) data['CDLXSIDEGAP3METHODS'] = talib.CDLXSIDEGAP3METHODS( open, high, low, close) # data['ADX'] = talib.ADX(high, low, close, timeperiod=14) data['MACDFAS'], data['MACDSLO'], data['MACDSIGNA'] = talib.MACD( close, fastperiod=12, slowperiod=26, signalperiod=9) data['3day MA'] = close.shift(1).rolling(window=3).mean() data['10day MA'] = close.shift(1).rolling(window=10).mean() data['30day MA'] = close.shift(1).rolling(window=30).mean() data['RSI_9'] = talib.RSI(close.values, timeperiod=9) data['S_10'] = close.rolling(window=10).mean() data['Corr'] = close.rolling(window=10).corr(data['S_10']) data['Williams %R'] = talib.WILLR(data['High'].values, data['Low'].values, data['Close'].values, 7) return data
def CDLSTALLEDPATTERN(self): integer = talib.CDLSTALLEDPATTERN(self.open, self.high, self.low, self.close) return integer
cdlrisefall3methods = ta.CDLRISEFALL3METHODS(openp, high, low, close) #CDLSEPARATINGLINES - Separating Lines cdlseperatinglines = ta.CDLSEPARATINGLINES(openp, high, low, close) #CDLSHOOTINGSTAR - Shooting Star cdlshootingstar = ta.CDLSHOOTINGSTAR(openp, high, low, close) #CDLSHORTLINE - Short Line Candle cdlshortline = ta.CDLSHORTLINE(openp, high, low, close) #CDLSPINNINGTOP - Spinning Top cdlspinningtop = ta.CDLSPINNINGTOP(openp, high, low, close) #CDLSTALLEDPATTERN - Stalled Pattern cdlstalledpattern = ta.CDLSTALLEDPATTERN(openp, high, low, close) #CDLSTICKSANDWICH - Stick Sandwich cdlsticksandwich = ta.CDLSTICKSANDWICH(openp, high, low, close) #CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow) cdltakuri = ta.CDLTAKURI(openp, high, low, close) #CDLTASUKIGAP - Tasuki Gap cdltasukigap = ta.CDLTASUKIGAP(openp, high, low, close) #CDLTHRUSTING - Thrusting Pattern cdlthrusting = ta.CDLTHRUSTING(openp, high, low, close) #CDLTRISTAR - Tristar Pattern cdltristar = ta.CDLTRISTAR(openp, high, low, close)
df['Long Legged Doji'] = ta.CDLLONGLEGGEDDOJI(df['Open'], df['High'], df['Low'], df['Close']) df['Long Line Candle'] = ta.CDLLONGLINE(df['Open'], df['High'], df['Low'], df['Close']) df['Rising/Falling Three Methods'] = ta.CDLRISEFALL3METHODS( df['Open'], df['High'], df['Low'], df['Close']) df['Separating Lines'] = ta.CDLSEPARATINGLINES(df['Open'], df['High'], df['Low'], df['Close']) df['Shooting Star'] = ta.CDLSHOOTINGSTAR(df['Open'], df['High'], df['Low'], df['Close']) df['Short Line Candle'] = ta.CDLSHORTLINE(df['Open'], df['High'], df['Low'], df['Close']) df['Spinning Top'] = ta.CDLSPINNINGTOP(df['Open'], df['High'], df['Low'], df['Close']) df['Stalled Pattern'] = ta.CDLSTALLEDPATTERN(df['Open'], df['High'], df['Low'], df['Close']) df['Stick Sandwich'] = ta.CDLSTICKSANDWICH(df['Open'], df['High'], df['Low'], df['Close']) df['Takuri'] = ta.CDLTAKURI(df['Open'], df['High'], df['Low'], df['Close']) # Tasuki Gap is a three-bar candlestick formation that is commonly used to signal the continuation of the current trend. df['Tasuki Gap'] = ta.CDLTASUKIGAP(df['Open'], df['High'], df['Low'], df['Close']) # The pattern is thought to act as a continuation pattern, but in reality, it acts as a reversal pattern about half the time. df['Thrusting Pattern'] = ta.CDLTHRUSTING(df['Open'], df['High'], df['Low'], df['Close']) # A tri-star is a three line candlestick pattern that can signal a possible reversal in the current trend, be it bullish or bearish. df['Tristar Pattern'] = ta.CDLTRISTAR(df['Open'], df['High'], df['Low'], df['Close'])
def compute_candlestick_patterns(self): df = self.df open = df.open close = df.close high = df.high low = df.low candle_patterns = pd.DataFrame(deepcopy(close)) candle_patterns['two_crows'] = talib.CDL2CROWS(open, high, low, close) candle_patterns['three_black_crows'] = talib.CDL3BLACKCROWS(open, high, low, close) candle_patterns['three_inside'] = talib.CDL3INSIDE(open, high, low, close) candle_patterns['three_line_strike'] = talib.CDL3LINESTRIKE(open, high, low, close) candle_patterns['three_outside'] = talib.CDL3OUTSIDE(open, high, low, close) candle_patterns['three_star_south'] = talib.CDL3STARSINSOUTH(open, high, low, close) candle_patterns['three_white_soldiers'] = talib.CDL3WHITESOLDIERS(open, high, low, close) candle_patterns['abandoned_baby'] = talib.CDLABANDONEDBABY(open, high, low, close) candle_patterns['advance_block'] = talib.CDLADVANCEBLOCK(open, high, low, close) candle_patterns['belt_hold'] = talib.CDLBELTHOLD(open, high, low, close) candle_patterns['breakaway'] = talib.CDLBREAKAWAY(open, high, low, close) candle_patterns['closing_marubozu'] = talib.CDLCLOSINGMARUBOZU(open, high, low, close) candle_patterns['concealing_baby_swallow'] = talib.CDLCONCEALBABYSWALL(open, high, low, close) candle_patterns['counterattack'] = talib.CDLCOUNTERATTACK(open, high, low, close) candle_patterns['dark_cloud_cover'] = talib.CDLDARKCLOUDCOVER(open, high, low, close) candle_patterns['doji'] = talib.CDLDOJI(open, high, low, close) candle_patterns['doji_star'] = talib.CDLDOJISTAR(open, high, low, close) candle_patterns['gravestone_doji'] = talib.CDLGRAVESTONEDOJI(open, high, low, close) candle_patterns['dragonfly_doji'] = talib.CDLDRAGONFLYDOJI(open, high, low, close) candle_patterns['engulfing'] = talib.CDLENGULFING(open, high, low, close) candle_patterns['eveningstar_doji'] = talib.CDLEVENINGDOJISTAR(open, high, low, close) candle_patterns['eveningstar'] = talib.CDLEVENINGSTAR(open, high, low, close) candle_patterns['gap_side_white'] = talib.CDLGAPSIDESIDEWHITE(open, high, low, close) candle_patterns['hammer'] = talib.CDLHAMMER(open, high, low, close) candle_patterns['doji'] = talib.CDLDOJI(open, high, low, close) candle_patterns['hanging_man'] = talib.CDLHANGINGMAN(open, high, low, close) candle_patterns['harami'] = talib.CDLHARAMI(open, high, low, close) candle_patterns['harami_cross'] = talib.CDLHARAMICROSS(open, high, low, close) candle_patterns['high_wave'] = talib.CDLHIGHWAVE(open, high, low, close) candle_patterns['hikkake'] = talib.CDLHIKKAKE(open, high, low, close) candle_patterns['hikkake_mod'] = talib.CDLHIKKAKEMOD(open, high, low, close) candle_patterns['homing_pigeon'] = talib.CDLHOMINGPIGEON(open, high, low, close) candle_patterns['identical_3crows'] = talib.CDLIDENTICAL3CROWS(open, high, low, close) candle_patterns['in_neck'] = talib.CDLINNECK(open, high, low, close) candle_patterns['inverted_hammer'] = talib.CDLINVERTEDHAMMER(open, high, low, close) candle_patterns['kicking'] = talib.CDLKICKING(open, high, low, close) candle_patterns['kicking_marubozu'] = talib.CDLKICKINGBYLENGTH(open, high, low, close) candle_patterns['ladder_bottom'] = talib.CDLLADDERBOTTOM(open, high, low, close) candle_patterns['long_leg_doji'] = talib.CDLLONGLEGGEDDOJI(open, high, low, close) candle_patterns['long_line'] = talib.CDLLONGLINE(open, high, low, close) candle_patterns['marubozu'] = talib.CDLMARUBOZU(open, high, low, close) candle_patterns['matching_low'] = talib.CDLMATCHINGLOW(open, high, low, close) candle_patterns['mat_hold'] = talib.CDLMATHOLD(open, high, low, close) candle_patterns['morningstar_doji'] = talib.CDLMORNINGDOJISTAR(open, high, low, close) candle_patterns['morningstar'] = talib.CDLMORNINGSTAR(open, high, low, close) candle_patterns['on_neck'] = talib.CDLONNECK(open, high, low, close) candle_patterns['piercing'] = talib.CDLPIERCING(open, high, low, close) candle_patterns['rickshaw_man'] = talib.CDLRICKSHAWMAN(open, high, low, close) candle_patterns['rising_fall_3methods'] = talib.CDLRISEFALL3METHODS(open, high, low, close) candle_patterns['separating_lines'] = talib.CDLSEPARATINGLINES(open, high, low, close) candle_patterns['shooting_star'] = talib.CDLSHOOTINGSTAR(open, high, low, close) candle_patterns['short_line'] = talib.CDLSHORTLINE(open, high, low, close) candle_patterns['spinning_top'] = talib.CDLSPINNINGTOP(open, high, low, close) candle_patterns['stalled'] = talib.CDLSTALLEDPATTERN(open, high, low, close) candle_patterns['stick_sandwich'] = talib.CDLSTICKSANDWICH(open, high, low, close) candle_patterns['takuri'] = talib.CDLTAKURI(open, high, low, close) candle_patterns['tasuki_gap'] = talib.CDLTASUKIGAP(open, high, low, close) candle_patterns['thrusting'] = talib.CDLTHRUSTING(open, high, low, close) candle_patterns['tristar'] = talib.CDLTRISTAR(open, high, low, close) candle_patterns['unique_3river'] = talib.CDLUNIQUE3RIVER(open, high, low, close) candle_patterns['upside_gap_2crows'] = talib.CDLUPSIDEGAP2CROWS(open, high, low, close) candle_patterns['upside_gap_3methods'] = talib.CDLXSIDEGAP3METHODS(open, high, low, close) self.candlestick_patterns = candle_patterns