天天看点

easytrader库实现主力进出交易策略?(完整源码示例)

作者:紫夜星辰zsabin

下面是一个简单的主力进出交易策略的实现范例,供参考:

easytrader库实现主力进出交易策略?(完整源码示例)
from easytrader import *
import talib
import time

# 初始化easytrader接口
user = use('ht')   # 使用华泰证券交易接口
user.prepare('account.json')

# 获取需要交易的股票代码
target_stock = '600519'   # 股票代码
amount = 100   # 购买数量

# 定义均线参数
short_period = 5   # 短期均线
middle_period = 10   # 中期均线
long_period = 20   # 长期均线

# 获取股票的历史数据
history_data = user.get_history_data(target_stock, 'D', 60)   # 获取近60日的日线数据
(注:以上获取股票的历史数据已失效,需另寻可用的数据来源)
# 计算白线、黄线、紫线三条均线
close_prices = [float(item['price']) for item in history_data]
white_line = talib.SMA(close_prices, short_period)
yellow_line = talib.SMA(close_prices, middle_period)
purple_line = talib.SMA(close_prices, long_period)

# 获取最新的股票价格和日期
latest_price = float(history_data[-1]['price'])
latest_date = history_data[-1]['date']

# 判断当前价格在三条均线之间的位置
if latest_price > white_line[-1] and white_line[-1] > yellow_line[-1] and yellow_line[-1] > purple_line[-1]:
    # 白线向上突破黄线、紫线且三线向上发散,买入股票
    buy_price = latest_price
    user.buy(target_stock, price=buy_price, amount=amount)
    print('{} {} 在 {} 买入 {} 股,价格 {}'.format(latest_date, target_stock, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), amount, buy_price))
elif latest_price < white_line[-1] and white_line[-1] < yellow_line[-1] and yellow_line[-1] < purple_line[-1]:
    # 主力进出三线“死亡交叉”,盘口呈空头排列,卖出股票
    sell_price = latest_price
    user.sell(target_stock, price=sell_price, amount=amount)
    print('{} {} 在 {} 卖出 {} 股,价格 {}'.format(latest_date, target_stock, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), amount, sell_price))
else:
    # 其他情况不执行任何操作
    pass
           
easytrader库实现主力进出交易策略?(完整源码示例)

需要注意的是,这个范例仅仅是一个简单的示例,实际情况可能更加复杂,需要根据具体业务需求进行调整。同时,投资有风险,交易需谨慎,以上内容仅供参考。

easytrader库实现主力进出交易策略?(完整源码示例)

继续阅读