邻小白 发布于2024-02-22
回复 33
浏览 3227
19
1。下单时,发送下单信息到自己的
```
# 发送订单信息至指定URL
def send_order_info(code, amount):
return
code = code[:6]
url = "http://你的ip:8800"
headers = {
"Content-Type": "application/json"
}
data = {
"股票代码": code,
"数量": amount
}
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
print("订单信息发送成功")
else:
print("订单信息发送失败,状态码:", response.status_code)
```
2. 服务器phthon 接收订单信息,写到本地文件
```
from http.server import BaseHTTPRequestHandler, HTTPServer
import json
class StockHandler(BaseHTTPRequestHandler):
def do_POST(self):
try:
content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)
data = json.loads(post_data.decode('utf-8'))
stock_code = data.get('股票代码')
quantity = data.get('数量')
# 检查数据完整性
if not all([stock_code, quantity]):
self.send_response(400)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps({'error': 'Missing data'}).encode('utf-8'))
return
# 根据数量的正负决定买入或卖出,并确保写入文件的数量为正数
if quantity < 0:
record = f"{stock_code},,0,0,{abs(quantity)}\n"
with open('sell.txt', 'a') as file:
file.write(record)
else:
record = f"{stock_code},,0,0,{quantity}\n"
with open('buy.txt', 'a') as file:
file.write(record)
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps({'success': True}).encode('utf-8'))
except ConnectionResetError as e:
print(f"Connection was reset by the client: {e}")
except json.JSONDecodeError as e:
self.send_response(400)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps({'error': 'Bad JSON'}).encode('utf-8'))
except Exception as e:
self.send_response(500)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps({'error': 'Server error'}).encode('utf-8'))
print(f"An unexpected error occurred: {e}")
def run(server_class=HTTPServer, handler_class=StockHandler, port=8000):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print(f'Starting httpd server on port {port}...')
httpd.serve_forever()
if __name__ == '__main__':
run()
```
3. 股票自动交易助手,通过读取buy.txt ,sell.txt文件,完成自动下单
实测速度一分钟可以完成几十笔。
评论
股票自动交易助手,我买的1300快
2024-02-22
 交流群:480899071
2024-02-22