欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → python模块当中,ema指标是怎么编写的?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4863人关注过本帖平板打印复制链接

主题:python模块当中,ema指标是怎么编写的?

帅哥哟,离线,有人找我吗?
wzywzy292
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2019/4/25 21:44:42 [只看该作者]

# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。

# 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。
#简单的期货趋势策略,选用简单的均线金叉死叉进行买卖
import time
import os
import csv
import numpy
import talib as ta


# before_trading此函数会在每天策略交易开始前被调用,当天只会被调用一次
def before_trading(context):
    pass

def init(context):
    # 在context中设置一些参数
    context.s1 = context.run_info.base_book_id
    #两条均线的周期长度
    #context.long_period = 20
    #context.short_period = 5

# 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
def handle_bar(context):
    # 开始编写你的主要的算法逻辑

    # bar_dict[order_book_id] 可以拿到某个证券的bar信息
    # context.portfolio 可以拿到现在的投资组合信息

    # 使用order_shares(id_or_ins, amount)方法进行落单

    # TODO: 开始编写你的算法吧!
    #获取交易品种价格,并产生对应的均线数据
#    close = history_bars(context.s1, context.long_period+1, 'self', 'close',True)
#    if len(close) < context.long_period+1 :
#        return
#    ma5 = ta.SMA(close,context.short_period)
#    ma20 = ta.SMA(close,context.long_period)
    #logger.info('ma5均线'+str(ma5[-1])+'ma20均线'+str(ma20[-1]))
    
    ma5 = get_indicator('if05','MA','ma1','5','5m',100)
    ma10 =get_indicator('if05','MA','ma2','10','5m',100)
   
    if ma5>ma10 and ma5[-1]<ma10[-1]:
        buy_open('if05', "ThisClose", volume=100)
    if ma5<ma10 and ma5[-1]>ma10[-1]:
#        portfolio = get_portfolio(context.s1,0)
        sell_close('if05',"ThisClose", volume=100)
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):
    pass

 回到顶部
总数 21 1 2 3 下一页