buy和A_sendorder的问题

如题 ,这两个函数有什么区别?我写了一个简单的策略,分别用 buy/sell 和A_sendorder 用来开平仓,测试发现用buy/sell 的指令 ,会自动开平仓,用A_sendorder的指令不会,指令如下 IF (Crossover(MA5, MA20) And MarketPosition==0 ) { buy (1, C); }if(Crossover(MA5, MA20) And MarketPosition==0 and BarStatus == 2 && sendCount == 0)A_SendOrder(Enum_Buy, Enum_Entry, 1, Q_AskPrice); 请问老师是什么原因?翻看帮助说明,自己理解的 buy指令是上一根K线出现信号,下一根K线执行开仓,A_sendorder 是每一个tick都判断一次,当出现信号就执行开仓,是这样理解吗?

想搞清楚,你得看对应专题的视频 https://video.tbquant.net/video?id=video412 https://video.tbquant.net/video?id=video447

回复:老师,看完了你给的两个视频,其中A函数视频中讲的不是很多,提到不能回测,对我这个问题还是没找到原因,请问用A函数写程序,是需要先获取账户的所有信息吗?包括资金 保证金 手续费,持仓等等,我上面只是定义 出现信号 没有报单时,才报单,这样可以吗?另外看了图表指标视频中提到 sell(0,C),这里的0表示多头全部平仓,再想问一下,buytocover(0,C) 这里的0 是不是表示空头全部平仓?

回复:请问用A函数写程序,是需要先获取账户的所有信息吗?包括资金 保证金 手续费,持仓等等,我上面只是定义 出现信号 没有报单时,才报单,这样可以吗?需要用的时候再调用出现信号没有报单时,才报单,可以实现另外看了图表指标视频中提到 sell(0,C),这里的0表示多头全部平仓,再想问一下,buytocover(0,C) 这里的0 是不是表示空头全部平仓?是的