PYTHON写代码 连接MYSQL host='localhost', user='root', password='123456', database='STOCK_CODES', port=3306, charset='utf8mb4' 读取MYSQL表格“stock_k_data” 里面包含的字段有date, time, code, open, high, low, close, volume, amount,price,status price 用来记录成交价格 status 来记录状态“买入”或“卖出” 第一行price=close,status=“买入” 循环开始,第一行到最后一行 当上一行,status=“买入” 股票从最高点冲高回踩5%,(status=“卖出,price=high*0.95) 循环直到卖出, 当上一行,status=“卖出”,股票从最低点上涨5%,(status=买入,price=low*1.05) 循环直到买入 循环结束
时间: 2024-01-21 19:19:13 浏览: 64
以下是Python代码实现连接MYSQL和读取表格:
```python
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456', database='STOCK_CODES', port=3306, charset='utf8mb4')
cursor = db.cursor()
# 读取表格
sql = "SELECT * FROM stock_k_data"
cursor.execute(sql)
results = cursor.fetchall()
# 关闭数据库连接
db.close()
```
接下来是根据题目要求进行的股票买卖操作:
```python
# 初始化第一行状态
results[0]['price'] = results[0]['close']
results[0]['status'] = '买入'
for i in range(1, len(results)):
if results[i-1]['status'] == '买入':
# 股票从最高点冲高回踩5%
if results[i]['high'] < results[i-1]['high'] * 0.95:
results[i]['price'] = results[i]['high'] * 0.95
results[i]['status'] = '卖出'
else:
results[i]['price'] = results[i]['close']
results[i]['status'] = '买入'
else:
# 股票从最低点上涨5%
if results[i]['low'] > results[i-1]['low'] * 1.05:
results[i]['price'] = results[i]['low'] * 1.05
results[i]['status'] = '买入'
else:
results[i]['price'] = results[i]['close']
results[i]['status'] = '卖出'
```
这里假设表格中的每一行都是一个字典,可以根据实际情况进行调整。在循环中,根据上一行的状态进行判断,如果上一行是买入状态,则比较当天最高价是否低于上一行最高价的95%,如果是,则卖出股票;否则继续持有股票。如果上一行是卖出状态,则比较当天最低价是否高于上一行最低价的105%,如果是,则买入股票;否则继续不持有股票。循环结束后,每一行的价格和状态都被更新。
阅读全文