- 精华
- 0
- 在线时间
- 25 小时
- UID
- 67476
- 积分
- 161
- 帖子
- 37
- 阅读权限
- 40
- 注册时间
- 2011-9-24
- 最后登录
- 2011-10-22
- 精华
- 0
- UID
- 67476
- 积分
- 161
- 帖子
- 37
- 主题
- 15
- 阅读权限
- 40
- 注册时间
- 2011-9-24
- 最后登录
- 2011-10-22
|
关于A_SendOrder有以下几个问题,望管理员给解释一下:
1、A_SendOrder函数据说是每个Tick执行一次,是整个程序的代码都执行一次吗?还是仅仅执行A_SendOrder这个函数一次?一个Tick一般多长时间?如果整个程序代码比较长一些,这个时间够整个程序执行一次吗?不够的话会怎样?
2、A_SendOrder在委托单发送成功之后,在单子还未成交之前,后面的程序会继续执行吗?以下是我今天测试的一个代码段,但是出了一个问题,就是在1分钟图表上,如果委托单发送成功却没有成交的话,那在次一根满足条件的K线上,又会重新再发送一次委托单,就等于发送了两次,重复了,这是什么原因呢?
If(BarStatus==0)
{
SetGlobalVar(0,1);
}
if (Condition1 && (A_BuyPosition()==0) && (GetGlobalVar(0)==1))
{
A_SendOrder(Enum_Buy,Enum_Entry,lots,Open);
SetGlobalVar(0,0);
}
if(Condition2 && (A_BuyPosition() >0)) //&& (GetGlobalVar(0)==0))
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Open);
SetGlobalVar(0,1);
}
3、针对上面代码平仓的条件,如果在成功自动化交易之后,我选择了手动平仓,那此时的全局变量0是不是还是0(开仓里有SetGlobalVar(0,0))?那如果此时我再开启全自动化交易,是不是就是,即使开仓条件满足了,也会因全局变量0还是0而无法成功发送委托单呢?这个问题应该如何解决呢?我就是想达到自动和手动的无缝衔接,想手动的时候,想自动的时候自动。
以上3个问题,望管理员解释一下,谢谢! |
|