1、形态指常用的K线形态
如:早晨之星、黄昏十字星、乌云盖顶、三只乌鸦、白三兵、刺透形态等常用的几个主要形态
下面看代码:
新增 cross_modal_order.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import talib import cross_order as order import time def main(): print("任务开始时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) for symbol in order.symbol_pool: # 设置杠杆倍数 order.set_leverage(symbol=symbol, leverage='18') # 获取标的的最新价 df = order.get_candlesticks(symbol=symbol, interval='1D', limit=str(100)) # 早晨之星 # 早晨之星为三日K线模式,定义为下跌趋势,第一日为阴线,第二日价格振幅较小,第三天阳线,预示着底部可能会有反转。 CDLMORNINGSTAR = talib.CDLMORNINGSTAR(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 三只乌鸦 # 我们的K线图的乌鸦并不只有两只,还有三只的。三只乌鸦(Three Black Crows)的定义,也是看三日的K线, # 也就是连续三根阴线,而且每日收盘价都下跌且接近最低价 CDL3BLACKCROWS = talib.CDL3BLACKCROWS(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 白三兵 # 简介:三日K线模式,三日K线皆阳,每日收盘价变高且接近最高价,开盘价在前一日实体上半部,预示股价上升。 CDL3WHITESOLDIERS = talib.CDL3WHITESOLDIERS(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 刺透形态 # 简介:两日K线模式,下跌趋势中,第一日阴线,第二日收盘价低于前一日最低价,收盘价处在第一日实体上部,预示着底部反转。 CDLPIERCING = talib.CDLPIERCING(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 黄昏十字星 # 简介:三日K线模式,基本模式为暮星,第二日收盘价和开盘价相同,预示顶部反转。 CDLEVENINGDOJISTAR = talib.CDLEVENINGDOJISTAR(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 乌云盖顶 # 简介:二日K线模式,第一日长阳,第二日开盘价高于前一日最高价,收盘价处于前一日实体中部以下,预示着股价下跌。 CDLDARKCLOUDCOVER = talib.CDLDARKCLOUDCOVER(df['open'].values, df['high'].values, df['low'].values, df['close'].values, penetration=0) if (CDLMORNINGSTAR[-2] == 0) and (CDLMORNINGSTAR[-1] == 100): order.up_cross_order(symbol=symbol, ordtype='market', message='早晨之星: 策略做多') print('早晨之星: 策略做多: ' + symbol) if (CDL3WHITESOLDIERS[-2] == 0) and (CDL3WHITESOLDIERS[-1] == 100): order.up_cross_order(symbol=symbol, ordtype='market', message='白三兵: 策略做多') print('白三兵: 策略做多: ' + symbol) if (CDLPIERCING[-2] == 0) and (CDLPIERCING[-1] == 100): order.up_cross_order(symbol=symbol, ordtype='market', message='刺透形态: 策略做多') print('刺透形态: 策略做多: ' + symbol) if (CDL3BLACKCROWS[-2] == 0) and (CDL3BLACKCROWS[-1] == -100): order.down_cross_order(symbol=symbol, ordtype='market', message='三只乌鸦: 策略做空') print('三只乌鸦: 策略做空: ' + symbol) if (CDLEVENINGDOJISTAR[-2] == 0) and (CDLEVENINGDOJISTAR[-1] == -100): order.down_cross_order(symbol=symbol, ordtype='market', message='黄昏十字星: 策略做空') print('黄昏十字星: 策略做空: ' + symbol) if (CDLDARKCLOUDCOVER[-2] == 0) and (CDLDARKCLOUDCOVER[-1] == -100): order.down_cross_order(symbol=symbol, ordtype='market', message='乌云盖顶: 策略做空') print('乌云盖顶: 策略做空: ' + symbol) time.sleep(5) print("任务结束时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) if __name__ == '__main__': main()