5周期均线大于10周期均线时计算最高价,
5周期均线小于10周期均线时计算最低价,
当5周期均线再次大于10周期均线时的收盘价大于前一个5周期大于10周期的最高价买入,
小于前一个5周期均线小于10周期均线的最低价卖出,
如果5周期均线大于10周期均线的最高价小于前一个5周期均线大于10周期均线的最高价卖出,
如果收盘价小于前一个5周期均线小于10周期均线的最低价卖出,
如果5周期均线小于10周期均线时的最低价大于前一个5周期均线小于10周期均线的最低价买入。
以下是python的代码供参考请帮忙移植tb
#
假设你有一个DataFrame \'df\'包含股票的历史数据,其中
# \'Close\'
代表收盘价,\'High\'代表最高价,\'Low\'代表最低价
#
这个DataFrame应该是按日期排序的
#
计算5日和10日移动平均线
df[\'MA5\'] = df[\'Close\'].rolling(window=5).mean()
df[\'MA10\'] = df[\'Close\'].rolling(window=10).mean()
#
用于跟踪之前的最高价和最低价
prev_high = None
prev_low = None
#
逐行处理历史数据
for index, row in df.iterrows():
if row[\'MA5\'] > row[\'MA10\']:
current_high = row[\'High\']
if prev_high is None or current_high > prev_high:
prev_high = current_high
#
如果这是一个买入的机会
if prev_low is not None and row[\'Close\'] > prev_high:
print(f\"
买入信号: {index}, 收盘价: {row[\'Close\']}\")
#
重置前一个最低价,因为我们现在关注的是买入后的表现
prev_low = None
elif row[\'MA5\'] < row[\'MA10\']:
current_low = row[\'Low\']
if prev_low is None or current_low < prev_low:
prev_low = current_low
#
如果这是一个卖出的机会
if prev_high is not None and (
row[\'Close\'] < prev_low or current_high < prev_high
):
print(f\"
卖出信号: {index}, 收盘价: {row[\'Close\']}\")
#
重置前一个最高价,因为我们现在关注的是卖出后的表现
prev_high = None
#
如果我们之前处于下行趋势且现在最低价比之前的最低价高,也是买入机会
if prev_low is not None and current_low > prev_low:
print(f\"
买入信号 (趋势反转): {index}, 收盘价: {row[\'Close\']}\")
请问均线金叉后的最高价连接下一个金叉后的最高价用什么函数来写。
没有直接的函数,必须自己写业务逻辑
请问红线处连接高点怎么写
这种需求一句话是写不完的 建议投稿
如何投稿
策略投稿看置顶帖
社区只有教学资源,没有代写资源。