技能修炼 | 热门月你还在设定日历吗?快用GetHotChange

2025-01-15 20:00   上海  

嘿,各位期货大侠们!还在为每个月手动设定日历,苦苦寻找热门月而烦恼吗?别愁啦,快来试试 GetHotChange 这个神奇小能手!

今天咱就好好唠唠这个 GetHotChange。它就像是期货世界里的超级侦探,专门负责期货热门月换月和指定月到期日这些事儿。不管是国内还是国外交易所的商品期货、金融期货,它都能大显身手,轻松获取 HOT 热门月的具体月份,以及距离结算日到期还有多少天。这功能,简直就像给你的期货交易装上了一个精准导航!

别光听我说,赶紧打开MC软件,跟着我一起操作,体验一把“期货侦探”的快乐。

 打开MC跟着一起操作吧:

透过 GetHotChange 抓到HOT商品目前的实际月份(上图显示在[HOT]的这一行),再透过 GetContractsExpire 可以收到商品距离结算日的剩余交易日,或是剩余日历日,也可直接回传对应的结算日期。

(具体函数内的参数说明,可通过在MC->公式编辑器函数上点击F1查看)
var:vs1(""),vRemainDate(""),vSettlement(""),vTest(""),vs2("");if LastBarOnChart andInstr(symbol,"HOT")<>0 then beginvs1=GetHotChange(symbol,date,time_s);vRemainDate=NumToStr(GetContractsExpire(2,vs1,date,time_s),0)+"days"vs2=NumToStr(GetContractsExpire(3,vs1,date,time_s),0);vSettlement=LeftStr(vs2,4)+"/"+MidStr(vs2,5,2)+"/"+rightstr(vs2,2);plot1(vs1,"[HOT]");plot2(vRemainDate,"[Remain]");plot3(vSettlement,"[Settlement]");SetPlotColor(1,RGB(196,166,0));SetPlotColor(2,RGB(196,166,0));SetPlotColor(3,RGB(196,166,0));end;


 通过GetHotChange 函数延伸而来(仅用于回测中)

在回测中如何针对HOT行情换月后的跳空处理

信号原理:取到某个时间点前后的指定月份合约,然后当两者出现不一致时,即表明HOT行情有换月,然后通过先平仓再开仓进行换仓动作。


var:vHotSymbol(""),vNextHotSymbol(""),vCon1(false);once cleardebug;if InStr(symbol,"HOT")<>0 then begin    vHotSymbol=GetHotChange(symbol,date,time_s);//获取当前的主力月份    vNextHotSymbol=GetHotChange(symbol,calcdate(date,1),time_s);//获取下日的主力月份    if Time = sess2endtime then begin      // 在当个交易日收盘时执行当根K平仓&Next bar 开仓动作        vCon1= vHotSymbol<>vNextHotSymbol;            if vCon1 then begin                    if marketposition > 0 then begin                    sell ("ChangeMonth_Sell") this bar on Close ; // this bar 仅用于回测                    buy ("ChangeMonth_Buy") next bar at market;            end;            if marketposition < 0 then begin                buytocover ("ChangeMonth_Cover")this bar on Close ; //this bar 仅用于回测                sellshort("ChangeMonth_Short") next bar at market;             end;    end ;end;end;


 图表实现效果如下:

这代码就像是小警察的行动指南,一步一步指挥着怎么应对期货市场的变化。

最后,这个信号可以直接当成一个单独信号,插到原本策略的 HOT 图表上,就像给你的图表添了一个超有用的小插件。

不过要注意啦,中国金融期货交易所曾经在2016.01.01有修改过收盘时间,把收盘时间从15:15改成了15:00。而 Sess2endtime 取值是根据 Quotemanager 的收盘时段设置的。所以做 CFFEX 股指期货的朋友们,一定要留意收盘时间的这个小变化,别在时间上“掉链子”哦!


程序化交易的实现需要好的工具辅助

欢迎使用MultiCharts专策版v14

辅助你的量化交易!








MultiCharts是一款专为内盘、外盘期货设计的专业图表绘制和自动化交易软件。能够帮助用户实现行情分析、策略编写及自动化下单。

MC(MultiCharts简称)可根据专业交易者的需求,在原有对于多数据、多商品、多周期的强大图表分析回测及交易策略编写上,新增众多特色功能,包含高级扫描器选股、内置中文帮助、分时成交明细、交易信号大幅优化等,让使用者能更方便回测并实现自己的交易思想,完成优异的交易策略。欢迎下载免费试用!


 MC14专策版 免费试用:

欢迎前往Multicharts官网,或公众号后台回复【MC14】,下载软件免费试用1个月;


www.multicharts.cn
 如何开通MC14正式服务 

开通指南:点击“阅读原文” → 登录MC官网 → 购买年度会员 → 会员中心付款 → 自动开通权限





MultiCharts
MultiCharts官方号,提供各种交易思想和金融世界干货~搭配策略星学院的资源,让一般人也能学会高大上的量化交易!
 最新文章