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()