将通达信的板块股票自动通过python读取到数据库中


首先说一下从通达信的筛选股票文档存储到数据库内的整体渠道路线:

1.通达信 2.django框架 3.mysql数据库 4.tushare库对应api

通达信以自定义板块的股票内容为例子,通道通达信的自定义板块的股票,是由通达信的筛选策略自动运行筛选出来的. 然后设置定期将筛选好的股票存储到base自定义板块中. 我们得知通达信的自定义板块,每一个板块都有一个对应的文档存储这些票子, 文档的路径通畅在通达信的安装目录---我自己的是放在这里的\tdx\T0002\blocknew\BASE.blk 在django框架里写一个python文件,放入如下代码做股票的内容解析:

```python

def parse_stock_file(): file_path = 'c:\tdx\T0002\blocknew\BASE.blk' # 文件路径 #注意windows的路径和ubuntu的路径写法不同

if os.path.exists(file_path):
    with open(file_path, 'r') as f:
        lines = f.readlines()
        for line in lines:
            code = line.strip()[1:]
            if not code:  # 跳过空行
                continue

            # 使用tushare获取股票名称
            ts.set_token(TU_TOKEN)
            pro = ts.pro_api()
            df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name')
            stock_name = df[df['symbol'] == code]['name'].values[0]
            #上面将通达信文档里的股票代码,拿到tushare库里去查询对应股票的名称,
            #然后再通过下面代码才能出到数据库中
            stock = Task_Search.objects.get_or_create(code=code,
                                                      symbol=stock_name,
                                                      search_time=timezone.now())                # 将股票代码存储到数据库中

            print(stock, stock_name)
else:
    print(f"文件 {file_path} 不存在")

def start(): scheduler = BackgroundScheduler() scheduler.add_job(parse_stock_file, 'cron', hour=18, minute=8) # 每天下午6点钟执行一次任务 scheduler.start() ```

这样上面的START是用来启动抓取任务的,每次通达信的筛选策略筛选到对应的股票,放置到本地的base文档后,我们要启动任务定时从通达信的base文档里抓取对应的股票过来.

这样就可以进入到后面的策略环节,动态通过通达信的信号和筛选策略筛选股票. 从而独立进行股票更新,策略分析和下单.