Params
//此处添加参数
Numeric length1(10);
Numeric length2(20);
Vars
//此处添加变量
Series<Numeric> MA1;
Series<Numeric> MA2;
Series<Bool> Bool_crossover;
Series<Bool> Bool_crossunder;
Global Bool trade_MArk;
Events
//此处实现事件函数
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
MA1 = Average(Close,length1);
MA2 = Average(Close,length2);
PlotNumeric(\"MA1\",MA1);
PlotNumeric(\"MA2\",MA2);
Bool_crossover = MA1[1] <= MA2[1] && MA1 > MA2;
Bool_crossunder = MA1[1] >= MA2[1] && MA1 < MA2;
If(Bool_crossover[1] && 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] && 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;
}
老师你好,之前请教了个用a函数来写反手策略的问题,之前还可以用的,现在发现个问题,就是为什么我加载工作区后,一启动自动交易,就不停地发单,老师,看看这是怎么回事?谢谢
下单部分要用
if(Barstatus == 2) 判断最新bar才下单
A_SendOrderEx 历史也回发单,可用A_SendOrder
使用A函数就要学会规避tick大量触发的问题
这个仓位判断的编写,请问有没有案例可以提供参考,谢谢
老师,工作区运行中是没问题的,就是一开始,工作区在启动自动交易那里的时候,就不停地发单了,这是怎么回事呢?