Params
//此处添加参数
Numeric length1(5);
Numeric length2(20);
Vars
//此处添加变量
series<Numeric> ma1;
series<Numeric> ma2;
series<bool> bool_crossover;
series<BOOL> bool_crossunder;
Global Bool trade_mark;
Defs
Events
OnBar(ArrayRef<Integer> indexs)
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
{
//双均线 用收盘价计算两根均线
//金叉和死叉状态
ma1 = Average(Close,length1);
ma2 = Average(Close,length2);
PlotNumeric(\"ma1\",ma1);
PlotNumeric(\"ma2\",ma2);
//金叉
bool_crossover = ma1[1] <= ma2[1] and ma1 > ma2;
//死叉
bool_crossunder = ma1[1] >= ma2[1] and ma1 < ma2;
If(bool_crossover[1] and trade_mark)
{
Array<Integer> orderids;
A_SendOrderEx(Enum_Buy,Enum_exit,1,Open,orderids);
A_SendOrderEx(Enum_Buy,Enum_Entry,1,Open,orderids);//买
trade_mark = False;
}
If(bool_crossunder[1] and trade_mark);
{
Array<Integer> orderids;
A_SendOrderEx(Enum_sell,Enum_Exit,1,Open,orderids);//卖
A_SendOrderEx(Enum_sell,Enum_entry,1,Open,orderids);
trade_mark = False;
}
}
OnBarOpen(ArrayRef<Integer> indexs)
{
trade_mark = True;
}
谢谢