请教:帮忙写一个金叉死叉的公式模型
条件:MA5 穿 MA20 金叉 平空 开多
MA20 穿 MA5 死叉 平多 开空
都以金叉和死叉出现以后 , k线的开盘价格,进行开仓 和 平仓 操作
可参考下这个范例:
ma5:ma(c,5);
ma20:ma(c,20);
majc:cross(ma5,ma20);
masc:cross(ma20,ma5);
if majc then
begin
sellshort(holding<0,holding,LIMIT,o);
buy(holding=0,1,LIMIT,o);
end
if masc then
begin
sell(holding>0,holding,LIMIT,o);
buyshort(holding=0,1,LIMIT,o);
end

您好,出现信号了,为什么系统不去开仓,或者说没有识别到。

此主题相关图片如下:qq截图20190328102711.png
是价格原因。
下单语句这里修改下:
if majc then
begin
sellshort(holding<0,holding,LIMIT,o),IGNORECHECKPRICE;
buy(holding=0,1,LIMIT,o),IGNORECHECKPRICE;
end
if masc then
begin
sell(holding>0,holding,LIMIT,o),IGNORECHECKPRICE;
buyshort(holding=0,1,LIMIT,o),IGNORECHECKPRICE;
end
或者开平全改成市价试下。
谢谢,目前已经正确。
------------------------------------------------
追问:可否在换约点的地方,再加一个操作:平仓,再重新开仓。
释:上一个合约到期,最后一根线的收盘价强平。 下一个合约开始,开盘价重新开仓。
谢谢

此主题相关图片如下:qq截图20190328164003.png

你是要在换月的地方进行移仓换月处理是吗?这个在代码层面处理不了的。实际交易时候有移仓换月的功能可用。
实际交易我发现了移仓换月功能。谢谢
如果是回测,我需要更接近真实情况。所以,还希望得到解决办法,在代码层次。
我一个朋友在用文华win8,实现金叉死叉模型,它在用公式回测中,自动加入了换月开、平的操作。但是我不太会使用文华的软件。希望老师优化我们的“换月功能”。