以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  帮忙写一个金叉死叉的公式模型  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=168951)

--  作者:qq代人发帖
--  发布时间:2019/3/25 10:24:35
--  帮忙写一个金叉死叉的公式模型
请教:帮忙写一个金叉死叉的公式模型
条件:MA5  穿 MA20  金叉  平空  开多   
 MA20  穿 MA5  死叉  平多  开空   
都以金叉和死叉出现以后 ,  k线的开盘价格,进行开仓  和 平仓 操作

--  作者:FireScript
--  发布时间:2019/3/25 10:37:08
--  
 可参考下这个范例:
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

--  作者:kevkin
--  发布时间:2019/3/28 10:49:02
--  
图片点击可在新窗口打开查看您好,出现信号了,为什么系统不去开仓,或者说没有识别到。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190328102711.png
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2019/3/28 11:12:52
--  
 是价格原因。
下单语句这里修改下:
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

或者开平全改成市价试下。

--  作者:kevkin
--  发布时间:2019/3/28 16:42:44
--  
谢谢,目前已经正确。
------------------------------------------------
追问:可否在换约点的地方,再加一个操作:平仓,再重新开仓。
 释:上一个合约到期,最后一根线的收盘价强平。  下一个合约开始,开盘价重新开仓。


谢谢
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190328164003.png
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2019/3/28 16:50:36
--  
 你是要在换月的地方进行移仓换月处理是吗?这个在代码层面处理不了的。实际交易时候有移仓换月的功能可用。
--  作者:kevkin
--  发布时间:2019/3/29 12:36:03
--  
实际交易我发现了移仓换月功能。谢谢


如果是回测,我需要更接近真实情况。所以,还希望得到解决办法,在代码层次。 

--  作者:kevkin
--  发布时间:2019/3/29 12:54:08
--  
我一个朋友在用文华win8,实现金叉死叉模型,它在用公式回测中,自动加入了换月开、平的操作。但是我不太会使用文华的软件。希望老师优化我们的“换月功能”。