以文本方式查看主题

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

--  作者:小乙
--  发布时间:2016/11/10 14:09:33
--  帮忙编写
我想要的是 MA5 上穿MA10 开多单   然后 MA5第一次下穿MA10平 1/3仓。第二次下穿MA10平1/3仓 。第三次下穿MA10全平 即清仓的意思;或者是MA5下穿MA20的时候全部平仓 即清仓的意思。麻烦老师帮忙写成完整的交易策略。谢谢辛苦了哦!!
--  作者:jinzhe
--  发布时间:2016/11/10 14:17:20
--  

MA5 上穿MA10 开多单   然后 MA5第一次下穿MA10平 1/3仓。第二次下穿MA10平1/3仓 。第三次下穿MA10全平 即清仓的意思;或者是MA5下穿MA20

 

variable:n=0;
ma5:=ma(c,5);
ma10:=ma(c,10);
ma20:=ma(c,20);

if cross(ma5,ma10) and holding=0 then begin
 buy(holding=0,3,thisclose);
 n:=0;
end

if cross(ma10,ma5) then n:=n+1;
ss:=ref(holding,enterbars);
if n=1 then sell(1,holding/3,marketr);
if n=2 then sell(1,holding/3,marketr);
if n=3 then sell(1,0,marketr);
if cross(ma20,ma5) then sell(1,0,marketr);


--  作者:小乙
--  发布时间:2016/11/10 14:35:41
--  
谢谢 辛苦老师了
--  作者:小乙
--  发布时间:2016/11/10 14:44:05
--  
 n:=0;
end
if cross(ma10,ma5) then n:=n+1;
此处的N=0  和then n:=n+1;  的n+1 是什么意思呢?可以麻烦解释一下吗

--  作者:jinzhe
--  发布时间:2016/11/10 15:00:52
--  
n是用来在开仓后计算下穿的次数,开仓后置为0,从0开始计算,然后下穿一次加1