同花顺怎么增加指标副图,同花顺怎么增加kdj指标

  

  一、什么是神奇的九转指标?神奇九转是一套判断股票高低点的择时策略,属于中短期(2-3周,10-15个交易日)技术指标。神奇九转指数的思想来自技术分析领域的著名大师汤姆迪马克的TD序列,即股价上涨或(下跌)过程中连续9日收盘价高于(或低于)前4天的收盘价,然后趋势很可能会转向。所有对转向的判断是定量且不变的.其核心功能是寻找当前股价走势的拐点,提高抄底和逃顶的成功率。TD序列主要包括TD抵抗线、TD结构、TD计数三个部分,而魔九转只是TD结构的应用。通过同花顺大数据回测显示,神奇九转指数基于个股的成功率为68.6%,基于指数的成功率为75.6%。   

  

  注意:神奇九转指数策略,作为市场上不可多得的择时策略选股指数(不同于MACD、KDJ、WR、筹码指数等。具有较强的滞后性),能大概率抓住个股低位或高位的拐点。但有一点需要注意:该指标只适用于指数和个股的震荡行情、弱牛市和弱熊市;不适合大牛市或者大熊市!   

  

  1.1神奇的九转指标逻辑:当股价上涨或(下跌)过程中连续9日收盘价高于(或低于)前4天的收盘价即满足神奇九转指标逻辑。's股价在上涨或下跌的过程中连续9天达到触发条件时,就会生成序列1、2、3.7、8、9,依次标在当天k线的上方(下方)。只有当股价连续第六天达到触发条件时,数列才开始进行显示, 1,2,3,4,5,6,当第七天依然达到触发条件时则显示7,如第七日未达到触发条件则前面6天的序号消失.初八的显示逻辑与初七相同。第九天仍达到触发条件时,形成九转结构。而当第九日未达到触发条件时则前面8日的序号消失,九转结构不成立.股价上涨过程中形成的九转结构叫上涨九转卖出结构,股价下跌过程中形成的九转结构叫下跌九转买入结构.   

  

  1.2九拐向下买入结构的下跌九转买入结构:满足两个条件:第一,连续九根k线的收盘价低于前面第四根k线的收盘价。第二:8或9的最低价小于6或7的最低价。   

  

  下跌九转买入结构   

  

  1.2上涨九转卖出结构:满足两个条件:第一,连续九根k线的收盘价高于相互靠前的第四根k线的收盘价。第二:最高价8或9大于最高价6或7。   

  

  涨九卖结构   

  

  2.通过Tushare 2.1股票_基本股票基本数据接口获取魔九转所需数据接口描述获取股票基本信息数据,包括股票代码、名称、上市日期、退市日期等。   

  

  输入参数   

  

     

  

  输出参数   

  

     

  

  接口示例=ts。pro _ API () #查询当前所有正常上市交易的股票列表Data=pro。stock _ basic (exchange=' ',list _ status=' l ',fields=' ts _ code,symbol,name,area,industry,list _ date ')数据样例Ts _ code symbol name area industry list _ date 0 000001 . SZ 00001平安银行深圳银行199104031 00002.sz0002万科A深圳国民地产199101292 00004 . SZ 0004国家农业科技深圳生物系统医药19910101   

000009.SZ 000009 中国宝安 深圳 综合类 199106258 000010.SZ 000010 美丽生态 深圳 建筑施工 199510279 000011.SZ 000011 深物业A 深圳 区域地产 1992033010000012.SZ000012南玻A深圳玻璃199202282.2 daily股票日线行情数据接口接口描述获取股票日线行情数据。

  

数据说明:交易日每天15点~16点之间。本接口是未复权行情,停牌期间不提供数据。

  

调取说明:基础积分每分钟内最多调取500次,每次5000条数据,相当于23年历史。

  

输入参数

  

  

输出参数

  

  

接口示例pro = ts.pro_api()df = pro.daily(ts_code = '000001.SZ', start_date = '20180701', end_date = '20180718')#多个股票df = pro.daily(ts_code = '000001.SZ, 600000.SH', start_date = '20180701', end_date = '20180718')#通过日期取历史某一天的全部历史df = pro.daily(trade_date='20180810')数据样例ts_code trade_date open high low close pre_close change pct_chg vol amount0 000001.SZ 20180718 8.75 8.85 8.69 8.70 8.72 -0.02 -0.23 525152.77 460697.3771 000001.SZ 20180717 8.74 8.75 8.66 8.72 8.73 -0.01 -0.11 375356.33 326396.9942 000001.SZ 20180716 8.85 8.90 8.69 8.73 8.88 -0.15 -1.69 689845.58 603427.7133 000001.SZ 20180713 8.92 8.94 8.82 8.88 8.88 0.00 0.00 603378.21 535401.1754 000001.SZ 20180712 8.60 8.97 8.58 8.88 8.64 0.24 2.78 1140492.31 1008658.8285 000001.SZ 20180711 8.76 8.83 8.68 8.78 8.98 -0.20 -2.23 851296.70 744765.8246 000001.SZ 20180710 9.02 9.02 8.89 8.98 9.03 -0.05 -0.55 896862.02 803038.9657 000001.SZ 20180709 8.69 9.03 8.68 9.03 8.66 0.37 4.27 1409954.60 1255007.6098 000001.SZ 20180706 8.61 8.78 8.45 8.66 8.60 0.06 0.70 988282.69 852071.5269 000001.SZ 20180705 8.62 8.73 8.55 8.60 8.61 -0.01 -0.12 835768.77 722169.579三、神奇九转指标策略选股的Python实现3.1 代码说明从Tushare获取的股票基础数据存放在Mysql数据中。从数据库中找出所有非ST股票,然后循环检查每一只股票当前日期是否符合神奇九转指标策略(包括卖出和买入),符合策略的股票数据显示在表格中。

  

注:因篇幅原因,以下代码为主要实现逻辑,非全部代码。如需请联系。

  

3.2 主要代码def get_nine_turn_index(self):lstBuy = <>lstSell = <>dfBuy = self.get_data_from_file(IDX_BUY)dfSell = self.get_data_from_file(IDX_SELL)if dfBuy.empty or dfSell.empty:stData = cmnDB().get_all_stock_basic_data(noST=True)idx = 0iTop = 15total = len(stData)start = time.perf_counter()for itm in stData:st = self.get_stock_json_data(itm)stCode = itm<0>data = cmnDB().get_nine_turn_data(stCode, lmt=iTop)data = data.iloc<:iTop>oClose = data.close.valuesif self.get_is_nine_turn_buy_stock(oClose):st<'idx_type'> = IDX_BUYlstBuy.append(st)elif self.get_is_nine_turn_sell_stock(oClose):st<'idx_type'> = IDX_SELLlstSell.append(st)idx += 1cmn.show_progress_bar(idx, total, start, oBar=oGauge)# 生成csv文件self.make_nine_turn_file(lstBuy, IDX_BUY)self.make_nine_turn_file(lstSell, IDX_SELL)# 转换为DataFramedfBuy = pd.DataFrame(lstBuy)dfSell = pd.DataFrame(lstSell)df = dfBuy.append(dfSell, ignore_index=True)self.show_data_in_grid(df)""" ==================================================*** Name: get_is_nine_turn_buy_stock*** Desc: check the stock meet the magic nine turn index of buy*** Param: oClose - close value records of stock*** Return: Boolean: True / False"""def get_is_nine_turn_buy_stock(self, oClose):rtn = FalseiCount = 0for idx in range(len(oClose) - 5):if oClose < oClose:iCount += 1if iCount == 8:rtn = Truebreakelse:breakreturn rtn""" ==================================================*** Name: get_is_nine_turn_sell_stock*** Desc: check the stock meet the magic nine turn index of sell*** Param: oClose - close value records of stock*** Return: Boolean: True / False"""def get_is_nine_turn_sell_stock(self, oClose):rtn = FalseiCount = 0for idx in range(len(oClose) - 5):if oClose > oClose:iCount += 1if iCount == 8:rtn = Truebreakelse:breakreturn rtn3.3 实现结果数据样例

  

符合九转买入结构股票

  


  

符合九转卖出结构股票

相关文章