关于一个模型的编写 [MC]
-
MC用户求助:
input:length_A(20), length_B(30);
var: mv_A(0), mv_B(0), state_A(-1), state_B(-1);
mv_A=averagefc(close,length_A); //A模型的均线值,存储到mv_A变量上
mv_B=averagefc(close,length_B); //B模型的均线值,存储到mv_B变量上
if close cross above mv_A then
state_A=1 //A模型的多仓状态,赋值变量state_A为1
else if close cross under mv_A then
state_A=0; //A模型的空仓状态,赋值变量state_A为0
if close cross above mv_B then
state_B=1 //B模型的多仓状态,赋值变量state_B为1
else if close cross under mv_B then
state_B=0; //B模型的空仓状态,赋值变量state_B为0
if state_A=1 and state_B=1 and (state_A=1 and state_B=1)[1]=false and marketposition=0 then
buy next bar at market;
{当A和B模型都处于多仓状态时,开仓}
if marketposition=1 and (close cross under mv_A or close cross under mv_B) then
sell next bar at market;
{当A模型或者B模型出现平仓信号时,执行平仓}
对于其它的开平仓信号执行,您可以通过mv_A、mv_B、state_A、state_B进行组合;
上面写的信号是针对同一个商品合约进行的,若您需要使AB两个模型分别针对不同的商品合约,您可以在图表上插入子图并且对上述代码进行微调;
上面写的信号是针对一个商品下单,若您需要对不同的商品合约下单,您需要通过PT功能,投资组合下单。
一、您所说的A模型和B模型,实际上可以编写在一个信号中,也就是一个策略,那么一个策略的绩效当然可以回测评定,和其它策略一样,加载到商品合约上、然后在策略属性中更改成您需要的设置,最后点击“视图”中的策略绩效报告即可。
二、如果说,您需要A模型和B模型分别对不同的商品合约进行交易,那么您可以使用MC的投资组合回测和投资组合交易的功能,回测绩效是整体的绩效,当然也可以单独看绩效。
-
MC回复讨论一:
input:length_A(20), length_B(30);
var: mv_A(0), mv_B(0), state_A(-1), state_B(-1);
mv_A=averagefc(close,length_A); //A模型的均线值,存储到mv_A变量上
mv_B=averagefc(close,length_B); //B模型的均线值,存储到mv_B变量上
if close cross above mv_A then
state_A=1 //A模型的多仓状态,赋值变量state_A为1
else if close cross under mv_A then
state_A=0; //A模型的空仓状态,赋值变量state_A为0
if close cross above mv_B then
state_B=1 //B模型的多仓状态,赋值变量state_B为1
else if close cross under mv_B then
state_B=0; //B模型的空仓状态,赋值变量state_B为0
if state_A=1 and state_B=1 and (state_A=1 and state_B=1)[1]=false and marketposition=0 then
buy next bar at market;
{当A和B模型都处于多仓状态时,开仓}
if marketposition=1 and (close cross under mv_A or close cross under mv_B) then
sell next bar at market;
{当A模型或者B模型出现平仓信号时,执行平仓}
对于其它的开平仓信号执行,您可以通过mv_A、mv_B、state_A、state_B进行组合;
上面写的信号是针对同一个商品合约进行的,若您需要使AB两个模型分别针对不同的商品合约,您可以在图表上插入子图并且对上述代码进行微调;
上面写的信号是针对一个商品下单,若您需要对不同的商品合约下单,您需要通过PT功能,投资组合下单。
一、您所说的A模型和B模型,实际上可以编写在一个信号中,也就是一个策略,那么一个策略的绩效当然可以回测评定,和其它策略一样,加载到商品合约上、然后在策略属性中更改成您需要的设置,最后点击“视图”中的策略绩效报告即可。
二、如果说,您需要A模型和B模型分别对不同的商品合约进行交易,那么您可以使用MC的投资组合回测和投资组合交易的功能,回测绩效是整体的绩效,当然也可以单独看绩效。
-
MC回复讨论二:
其实我在文华上也咨询过同样的问题,因为A模型和B模型属于不同的周期,文华要加载某一周期上才能回测,所以针对这个要涉及两个周期的模型,文华不能回测。老师说MC可以回测分属于不同周期的模型,那么我应该加载在A模型的15分钟上回测,还是加载在B模型的周K线上回测?问题的焦点是MC如何处理A模型和B模型在不同周期上的数据调用?
-
MC回复讨论三:
抱歉,上面编写的MC代码其实是加载到一个周期的商品合约上的,这个不是您真实需求的,也怪我对您之前的意思理解偏差了。
您的两个模型是分别加载到同一个商品合约并且是不同周期的,而且两个模型之间还互相“联系”以确定开仓和平仓,那么您的这个需求可以通过投资组合交易来实现;目前MC8s只支持投资组合回测,您可以使MC8s版本的投资组合回测功能实现回测,组合回测中也包含单独的回测,实盘交易的话,您需要通过图表进行交易,两个图表之间需要通过全局变量进行传递信息以确定开仓和平仓;MCpro版本和MC精英版支持投资组合交易(当然投资组合回测也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2这个帖子您看一下
您可能需要学习一下投资组合回测、投资组合交易及图表中使全局变量等相关内容了
-
MC回复讨论四:
抱歉,上面编写的MC代码其实是加载到一个周期的商品合约上的,这个不是您真实需求的,也怪我对您之前的意思理解偏差了。
您的两个模型是分别加载到同一个商品合约并且是不同周期的,而且两个模型之间还互相“联系”以确定开仓和平仓,那么您的这个需求可以通过投资组合交易来实现;目前MC8s只支持投资组合回测,您可以使MC8s版本的投资组合回测功能实现回测,组合回测中也包含单独的回测,实盘交易的话,您需要通过图表进行交易,两个图表之间需要通过全局变量进行传递信息以确定开仓和平仓;MCpro版本和MC精英版支持投资组合交易(当然投资组合回测也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2这个帖子您看一下
您可能需要学习一下投资组合回测、投资组合交易及图表中使全局变量等相关内容了
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容