根据MACD指标自动盯盘软件的使用开发

本文介绍了一个为期货高频交易者开发的工具,该工具利用同花顺IFIND数据接口获取5分钟MACD指标,并在出现金叉/死叉时通过短信提醒用户。开发步骤包括获取数据、计算MACD并检测交叉点,最终实现延迟不超过1分钟的通知服务。后续计划对策略进行回测以评估其盈利能力。
摘要由CSDN通过智能技术生成

根据MACD指标自动盯盘软件的使用开发

[概要] 当5分钟MACD指标出现金叉/死叉时 发送短信提醒

1 需求描述

最近有个老哥,是做期货高频交易的,他由于不方便长时间盯盘,并且符合他策略的指标形态出现并不频繁.
找了一圈,市面上也没有现成的软件.于是找到我让我给他开发一个工具.
开始他的需求并不复杂, 就是根据品种的5分钟MACD指标,去判定入场时机.
当5分钟MACD指标出现金叉/死叉时给他发送短信提醒,后面他再自己判断是否入场建仓.

2 开发步骤

2.1 数据源

数据源采用的是同花顺的IFIND数据接口,采用Python开发.

# 高频序列:获取分钟数据
def high_frequency():
    thsUrl = 'https://quantapi.51ifind.com/api/v1/high_frequency'
    thsPara = {"codes":
                   "000001.SZ",
               "indicators":
                   "open,high,low,close,volume,amount,changeRatio",
               "starttime":
                   "2022-07-05 09:15:00",
               "endtime":
                   "2022-07-05 15:15:00"}
    thsResponse = requests.post(url=thsUrl, json=thsPara, headers=thsHeaders)
    print(thsResponse.content)
2.2主要代码
def compute_macd_5(codes):
    # 当前时间 前推 一个月内的 5分钟 K 数据
    curr_time = dt.now()
    today = dt.now().weekday()
    if today == 0 :
        #周一
        hours = 72
    else:
        hours = 20
    s_time = curr_time - datetime.timedelta(hours=hours)
    s_time_str = dt.strftime(s_time,time_sp) 
    rs = high_frequency(codes=codes,starttime=s_time_str,endtime=dt.strftime((curr_time),time_sp))
    if len(rs) ==0:
        return False
    rs_table = rs['table']
    dif, dea, hist = ta.MACD(np.array(rs_table['close']), fastperiod=12, slowperiod=26, signalperiod=9)
    df3 = pd.DataFrame({'dif':dif[33:],'dea':dea[33:],'hist':hist[33:]},
                       index=rs['time'][33:],columns=['dif','dea','hist'])
    # 寻找MACD金叉和死叉
    datenumber = int(df3.shape[0])
    jin_cha = None
    si_cha = None
    for i in range(datenumber-1):
        if ((df3.iloc[i,0]<=df3.iloc[i,1]) & (df3.iloc[i+1,0]>=df3.iloc[i+1,1])):
            print("MACD金叉的日期:"+df3.index[i+1])
           
        if ((df3.iloc[i,0]>=df3.iloc[i,1]) & (df3.iloc[i+1,0]<=df3.iloc[i+1,1])):
            print("MACD死叉的日期:"+df3.index[i+1])
           
2.3 运行结果

MACD死叉的日期:2022-08-04 02:30
MACD金叉的日期:2022-08-04 09:35
MACD死叉的日期:2022-08-04 11:10
MACD金叉的日期:2022-08-04 14:50

总结

最后得出5分钟MACD 发生金叉/死叉的具体时间,我们的主要功能也就写完了. 然后再调用发送短信的接口.就可以正常使用了. 经过测试通知短信的延时最长不超过1分钟,对于这个频率的交易也够用了.

下一篇我们准备回测这个策略,看下具体收益率.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值