金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1542|回复: 3

请教Python遍历多品种交易如何控制单个品种加仓次数?

[复制链接]

10

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-7-6
曾用名:
发表于 2023-3-6 13:04 | 显示全部楼层 |阅读模式
请教Python遍历多品种交易如何控制单个品种加仓次数,代码如何表达?
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-6 14:17 | 显示全部楼层
这种 你只能每个品种维护一个全局变量来实现了。没其他好的方式了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-7-6
曾用名:
 楼主| 发表于 2023-3-6 16:39 | 显示全部楼层
具体怎么写?我发个多品种交易策略给你,能帮我把单个品种的全局变量的代码加一两个示范可以吗?
回复

使用道具 举报

10

主题

66

帖子

66

积分

等级: 免费版

注册:
2021-7-6
曾用名:
 楼主| 发表于 2023-3-6 16:39 | 显示全部楼层
import talib as ta
def init(context):
        
    context.long_period = 20
    context.short_period = 5

def handle_bar (context):
    for s in context.universe:        
        close = history_bars(s,context.long_period+1,'1d','close')
        if len(close)< context.long_period+1 :            
            return
        ma5 = ta.SMA (close, context.short_period)
        ma20 = ta.SMA (close, context.long_period)
        #均线买入
        if ma5[-1]>ma20[-1] :           
            buy_open(s,'market',volume=1,serial_id = 1)
        #均线卖出
        if ma5[-1]<ma20[-1] :
            portfolio =get_portfolio(s,0)
            print('品种信息:'+str(portfolio))
            sell_close(s,'market', volume=portfolio. buy_quantity,serial_id = 2)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 19:45 , Processed in 0.228030 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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