金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1202|回复: 1

为什么总显示函数未定义

[复制链接]

1

主题

1

帖子

1

积分

Rank: 1

等级: 新手上路

注册:
2024-6-11
曾用名:
发表于 2024-6-11 13:01 来自手机 | 显示全部楼层 |阅读模式
import pandas as pd
import numpy as np

def trading_strategy(data):
    # 计算5日均线和20日均线
    data['MA5'] = data['Close'].rolling(window=5).mean()
    data['MA20'] = data['Close'].rolling(window=20).mean()

    # 初始化信号列
    data['Signal'] = 0

    # 生成交易信号
    for i in range(1, len(data)):
        if data['MA5'][i] > data['MA20'][i] and data['Close'][i] > data['MA5'][i] and data['Close'][i] > data['MA20'][i]:
            data['Signal'][i] = 1  # 做多信号
        elif data['MA5'][i] < data['MA20'][i] and data['Close'][i] < data['MA5'][i] and data['Close'][i] < data['MA20'][i]:
            data['Signal'][i] = -1  # 做空信号

    # 初始化止损位和持仓状态
    data['Stop_Loss'] = np.nan
    data['Position'] = 0

    for i in range(1, len(data)):
        if data['Signal'][i] == 1:
            data['Position'][i] = 1
            data['Stop_Loss'][i] = data['Low'][i-1]  # 设置止损位为前一根K线的最低点
        elif data['Signal'][i] == -1:
            data['Position'][i] = -1
            data['Stop_Loss'][i] = data['High'][i-1]  # 设置止损位为前一根K线的最高点
        else:
            data['Position'][i] = data['Position'][i-1]  # 持仓状态保持不变

        # 检查止损条件
        if data['Position'][i] == 1 and data['Low'][i] < data['Stop_Loss'][i]:
            data['Position'][i] = 0  # 平仓
        elif data['Position'][i] == -1 and data['High'][i] > data['Stop_Loss'][i]:
            data['Position'][i] = 0  # 平仓

    return data

# 示例数据
data = pd.DataFrame({
    'Close': [100, 102, 104, 103, 105, 107, 106, 108, 110, 109, 111, 113, 112, 114, 116],
    'Low': [99, 101, 103, 102, 104, 106, 105, 107, 109, 108, 110, 112, 111, 113, 115],
    'High': [101, 103, 105, 104, 106, 108, 107, 109, 111, 110, 112, 114, 113, 115, 117]
})

# 应用交易策略
result = trading_strategy(data)
print(result)
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-6-11 13:08 | 显示全部楼层
提示的是什么?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-7-28 01:01 , Processed in 0.140843 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表