以文本方式查看主题

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

--  作者:gzarmstrong
--  发布时间:2015/2/9 23:07:46
--  请老师帮忙看看
我的本意是:有长中短三条均线,周期分别是60、22、5。当短均线与任意另外的均线金叉,就先把原来的空单平仓。然后5-22金叉,就开多单VOL1手;如果5-60金叉,而且之前已经有多单,那么就增仓VOL2手。

我的程序如下面。但程序运行后,5-22金叉开多单后,到了5-60金叉就平仓了。请问问题出在哪里?

MA5 : MA(CLOSE, 5);
MA22 : MA(CLOSE, 22);
MA60 : MA(CLOSE, 60);

BCON := CROSS(MA5, MA22);
SCON := CROSS(MA5, MA22);

BCON1 := CROSS(MA5, MA60);
SCON1 := CROSS(MA5, MA60);

VOL1 := 15;
VOL2 := 20;

//先平仓
SELLSHORT((BCON || BCON1), 0, MARKET);  //出现金叉时,把空单平仓
SELL((SCON || SCON1), 0, MARKET);  //出现死叉时,把多单平仓

//首次开仓,常规开仓
BUY(BCON, VOL1, MARKET);  //MA5-22出现金叉,开多
BUYSHORT(SCON, VOL1, MARKET);  //MA5-22出现死叉,开空

BUY(BCON1 && HOLDING > 0, VOL2 , MARKET);  //MA5-60出现金叉,追加多
BUYSHORT(SCON1 && HOLDING < 0, VOL2 , MARKET);  //MA5-60出现金叉,追加空


--  作者:gzarmstrong
--  发布时间:2015/2/9 23:27:11
--  
我发现问题所在了。谢谢!