新编了个公式5月1号到6月1号测试有结果 4月1号到6月1号没结果 3月1号到6月1号也可以 1月1号到6月1号有没结果了 程序中平仓条件中用了ENTERBARS ENTERPRICE 删掉后测试没问题。 或者加一个收盘平仓测试也没问题。想不出到底是咋回事,请老师们解决了,以前也碰到类似的问题。
在全局变量赋值条件中加入islastbar 测试结果出来 可图表上没有买卖信号了 晕
VARIABLE:做空控制=0;
//********************************开空条件 开空条件***********************************************
开空条件:做空控制=0 AND C-LLV(L,30)>8;
//*******************************平空条件
空平止盈1:做空控制<>0 AND c<ENTERPRICE-20;
空平止盈2:做空控制<>0 AND c<ENTERPRICE-7 AND ENTERBARS<50;
空平止损:=做空控制<>0 AND C>ENTERPRICE+10;
平空条件:=空平止盈1 OR 空平止盈2 OR 空平止损;
//开空委托程序
IF 开空条件 AND 交易时间 THEN//开空
BEGIN
BUYSHORT(1,交易数量,MARKET),ORDERQUEUE;
IF 开空条件 THEN 做空控制:=1;//AND ISLASTBAR
END
//平空委托程序
IF 平空条件 THEN
BEGIN
SELLSHORT(1,0,MARKET),ORDERQUEUE;
做空控制:=0;
END
//强制平仓
IF TYPE(1) AND ENTERPRICE-CLOSE>=3 THEN
BEGIN
SELL(HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
END
IF TYPE(3) AND CLOSE-ENTERPRICE>=3 THEN
BEGIN
SELLSHORT(HOLDING<0,HOLDING,MARKET),ORDERQUEUE;
做空控制:=0;
END
//收盘前全部平仓
//IF TIME>150000 THEN
//BEGIN
// SELL(1,0,MARKET);
// SELLSHORT(1,0,MARKET);
// 空反弹空开关:=0;
//END
测试时间段不同 有的测得出 有的测不出 如果加上收盘全部平仓就没问题了 不知道问题出在哪? 请大侠解答
要不把你的思路写出来 我们好修改
[此贴子已经被作者于2012-6-6 9:01:51编辑过]
IF 开空条件 AND 交易时间 THEN//开空
BEGIN
BUYSHORT(1,交易数量,MARKET),ORDERQUEUE;
IF 开空条件 THEN 做空控制:=1;//AND ISLASTBAR
//改为 做空控制:=1;
END
//强制平仓
IF TYPE(1) AND ENTERPRICE-CLOSE>=3 THEN
IF TYPE(3) AND CLOSE-ENTERPRICE>=3 THEN
这两句语句里的type(1)和type(3)用法有问题。不清楚楼主想表达什么?
是想表示之前有开多开空情况的话,应该这么写,type(1)=1 ,type(3)=1;