1.功能介绍:十一节假日期间写了一个,可将股票指标预警信号,自动发送给微信好友/微信群(即电脑端的消息,通过模拟微信操作可在手机上显示)。本工具按通达信写的,如果大智慧,同花顺也能导出记事本txt文件,那么也可以使用这个工具。然后设置一下他对应的编码即可,因为我不确定其他的软件导出后txt,是否也是gbk编码格式。
#小红牛微信公众号:gxzfp888
2 . 下载地址+视频教程:
https://share.weiyun.com/xIfHHqFX
通达信指标预警信号,自动发送给微信好友
3.软件的使用步骤
A. 电脑端需要登入自己的微信,通过消息发送到电脑端,消息同步到手机,实现手机与PC的互通。电脑上没有的话,自己下载一个微信。
B.设置一下通达信预警文件为txt格式及保存的位置:随便找个指标,生成一个预警的txt文件。
C. 点击初始化配置按钮,生成一个默认的文件,并设置好配置的属性。
微信收件人=我的Python教程
微信路径=D:\Program Files (x86)\Tencent\WeChat\WeChat.exe
预警文件路径=C:\Users\Ms-xiao\Desktop\预警.txt
gbk 或 utf-8编码=gbk
**D. 点击开启预警信号:**就会监测9-15点这个时间段内,是否出现了股票信号,如果出现就发送消息到微信。第一次使用可以测试一下(先开启tdx预警+登入pc微信+初始化属性设置+最后点开启预警信号),消息是否能正常发送,如果可以重启一下本软件,设置好tdx要预警的指标,重新开启预警即可。开启之后不要动电脑了,以免影响了,正常的模拟微信按键操作。(本来是要点这里的,结果你一动点了别的位置了)
Python源码
import os
import threading
import time
import base64
from axhniu.icon import ico
from axhniu import xhtext
from pywinauto.keyboard import send_keys
import tkinter as tk
# 新建文件夹,初始化
def new_folder():
os.makedirs('股票预警', exist_ok=True)
config =r"""微信收件人=我的Python教程
微信路径=D:\Program Files (x86)\Tencent\WeChat\WeChat.exe
预警文件路径=C:\Users\Ms-xiao\Desktop\预警.txt
gbk 或 utf-8编码=gbk
"""
#判断文件是否存在
if not os.path.exists('股票预警/配置.txt'):
xhtext.write_txt('股票预警/配置.txt', config,'utf-8')
if not os.path.exists('股票预警/预警.txt'):
xhtext.write_txt('股票预警/预警.txt', '生成一个初始的txt888', 'gbk')
label.config(text = "初始化文件已生成,请先配置再使用!!")
time.sleep(10)
label.config(text = '小红牛微信公众号:gxzfp888')
def new_folder_thread():
thread1 = threading.Thread(target=new_folder)
# 设置守护线程,这样在主线程退出时会自动结束这个线程
thread1.daemon = True
# 启动线程
thread1.start()
#模拟微信发送消息给好友/群
def simulate_click(message, addressee):
# 1.打开微信,设置微信的绝对路径
#wx_path = r'D:\Program Files (x86)\Tencent\WeChat\WeChat.exe'
wx_path= xhtext.read_config(r'股票预警\配置.txt', 1, '=')
os.startfile(wx_path)
time.sleep(2)
# 2.进入微信,模拟按键Ctrl+F
send_keys('^f')
send_keys(addressee)
#print(addressee)
time.sleep(1)
send_keys('{ENTER}') # 回车键必须全部大小
time.sleep(1)
# 3.输入聊天内容
# 处理消息格式+空格+换行
msg_lists = message.replace(' ', '{SPACE}{SPACE}').split('\n')
msgs = ''
for msg in msg_lists:
msgs += msg + '^{ENTER}'
# print(msgs)
send_keys(msgs)
# 回车发送消息
send_keys('{ENTER}')
time.sleep(1)
#exit() # 退出程序,不退出就死循环轰炸了
def work():
addressee = xhtext.read_config(r'股票预警\配置.txt', 0, '=')
# print(addressee)
label.config(text="正在开启预警...")
time.sleep(1)
label.config(text='小红牛微信公众号:gxzfp888')
local_time = time.localtime()
hour = int(time.strftime("%H", local_time))
# 处于开盘时间内
while hour > 9 and hour <= 15:
warning_path = xhtext.read_config(r'股票预警\配置.txt', 2, '=')
# print(code_path)
encod = xhtext.read_config(r'股票预警\配置.txt', 3, '=')
f = open(warning_path, 'r', encoding = encod)
read_msg = f.read()
# print(read_msg)
#读股票预警里面的预警文件
f1 = open(r'股票预警\预警.txt', 'r', encoding = encod)
write_msg = f1.read()
f1.close()
# print(write_msg)
'''
两个预警文件内容不等于的时候,发送消息
消息发送完成了,就重新写一个
写完后,再循环判断
'''
if read_msg != write_msg:
simulate_click(read_msg, addressee)
xhtext.write_txt('股票预警\预警.txt', read_msg, encod)
#print(read_msg != write_msg)
def work_thread():
thread = threading.Thread(target=work)
# 设置守护线程,这样在主线程退出时会自动结束这个线程
thread.daemon = True
# 启动线程
thread.start()
if __name__ == '__main__':
root = tk.Tk()
set_font = ("楷体", 14)
root.title('股票预警信号,发送给微信群+好友1.0')
root.geometry('400x150+350+260')
root.resizable(0,0)
# 加载ico图标
xhnico = open("xhnico.ico", "wb+")
xhnico.write(base64.b64decode(ico))
xhnico.close()
root.iconbitmap('xhnico.ico')
os.remove("xhnico.ico")
button1 = tk.Button(root, text = '初始化配置', width=18, height=1,
font = set_font,
command = new_folder_thread)
button1.pack(pady=10)
button2 = tk.Button(root, text='开启预警信号', width=18, height=1,
font=set_font,
command = work_thread)
button2.pack(pady=10)
label = tk.Label(root, text='小红牛微信公众号:gxzfp888', width=80,
height=1,font=set_font)
label.pack(pady=10)
root.mainloop()