使用CR指标交易策略实操源Python代码

使用CR指标交易策略实操源Python代码

首页卡牌对战代号星辰游戏更新时间:2024-04-27

首先,我们需要导入easytrader库,并连接我们要使用的券商。在本例中,我们将使用ht_client作为券商。

# 导入easytrader模块 from easytrader import * # 导入easytrader券商接口 from easytrader.clients.ht_client import HTClient # 连接华泰证券 user = '123456' # 账户名 password = '654321' # 密码 ht_client = HTClient(user, password) ht_client.prepare('ht.json')

接下来,我们将复制CR指标计算函数,并在函数中添加CR指标的计算逻辑。对于每个交易日,我们先计算最高价和最低价的平均价,并将它们乘以2,算出当日的B值。根据当日的收盘价、最高价和最低价计算出CR值,通过累加计算出5天和10天的cr指标,并将它们返回。

# 复制CR指标计算函数,并添加CR指标的计算逻辑 def cal_cr(data): length = len(data) cr_list = [] b_list = [] for i in range(length): if i == 0: b = (data[0]['high'] data[0]['low']) / 2 b_list.append(b) cr = 0 cr_list.append(cr) else: b = (data[i]['high'] data[i]['low']) / 2 b_list.append(b) if b_list[i] == b_list[i-1]: cr = 0 else: cr = (data[i]['close'] - b_list[i]) / (b_list[i] - b_list[i-1]) * 100 cr_list.append(cr) cr_5 = sum(cr_list[-5:]) / 5 cr_10 = sum(cr_list[-10:]) / 10 return cr_5, cr_10

在主程序中,我们将获取股票数据,并调用CR指标计算函数来得到5天和10天的CR指标。然后,我们判断当前市场趋势,并进行相应的买卖操作。如果5天CR指标大于10天CR指标,则说明市场处于上涨趋势,我们将买入股票;如果5天CR指标小于10天CR指标,则说明市场处于下跌趋势,我们将卖出股票。

# 获取股票数据 stock_code = '600000' # 股票代码 data = ht_client.get_security_bar(code=stock_code, freq="D", count=20) # 计算CR指标 cr_5, cr_10 = cal_cr(data) # 判断当前市场趋势,进行相应的买卖操作 portfolio = ht_client.get_portfolio() if cr_5 > cr_10: if stock_code not in portfolio.keys(): ht_client.buy(stock_code, price=None, amount=100) elif cr_5 < cr_10: if stock_code in portfolio.keys(): ht_client.sell(stock_code, price=None, amount=portfolio[stock_code][‘current_amount’])

,
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved