不按程序出信号,请大佬给看看

1,上一日收盘价大与五,十,二十日均线,以开盘价开多平空。

2,上一日收盘价小于五,十,二十日均线,以开盘价开空平多。

代码如下,输出的信号有很多不符合的,比如明明不满足条件,却给平多了。请老师给诊断一下。




Params

Numeric da(5);

Numeric db(10);

Numeric dc(20);

Numeric ca(60);

Numeric cb(120);

Numeric cc(250);


 

Vars

Series<Numeric> MADA;

Series<Numeric> MADB;

Series<Numeric> MADC;

Series<Numeric> MACA;

Series<Numeric> MACB;

Series<Numeric> MACC;

 



   Global Integer Sub;             //记录是否订阅layers[2]行情的全局变量

   Global Array<Integer> layers;  //记录订阅BAR之后返回的图层号

Series<Bool> condition1;

Series<Bool> condition2;

Series<Bool> condition3;

Series<Bool> condition4;

Events


OnInit()

{

Sub = 0;

 

   

   

}

OnBar(ArrayRef<Integer> indexs)

{


MADA=Average(Close,da);

MADB=Average(Close,db);

MADC=Average(Close,dc);  

MACA=Average(Close,ca);

MACB=Average(Close,cb);

MACB=Average(Close,cc);


condition1= C[1]>MADA[1] && C[1]>MADB[1] && C[1]>MADC[1];

condition3= C[1]<MADA[1] && C[1]<MADC[1] && C[1]<MADC[1];

condition2= C[1]<MADA[1] && C[1]<MADB[1] && C[1]<MADC[1];

condition4= C[1]>MADA[1] && C[1]>MADC[1] && C[1]>MADC[1];


If(MarketPosition!=1 And condition1)

{  

Buy(1,Open);

}

If(MarketPosition==1 And condition2)

{

Sell(1,Open);

}

If(MarketPosition!=-1 And condition3)

{  

SellShort(1,Open);

}  

If(MarketPosition==-1 And condition4 )

{

BuyToCover(1,Open);

}

}



股指期货无法回测;信号闪烁;开仓不按信号。
请大佬帮忙写个程序,有酬
怎么写个程序自动出金?
请给一个二维数组按列排序的例子
期货账户登陆不上,请管理员看看
用buy或者shortsell函数总是不按指定价发单,怎么才能按指定价发单?
kdj出信号后立即买入的问题
给策略加上按市值开仓
【信号闪烁】信号不闪烁的方法
老师请问能不能只出信号不开仓

data-href=

写两个一样的有什么特殊意义么

condition3= C[1]<MADA[1] && C[1]<MADC[1] && C[1]<MADC[1];

condition4= C[1]>MADA[1] && C[1]>MADC[1] && C[1]>MADC[1];

检查一下你这两句,一个字母一个字母的看。