- 精华
- 0
- 在线时间
- 13 小时
- UID
- 257192
- 积分
- 5
- 帖子
- 4
- 阅读权限
- 10
- 注册时间
- 2017-9-28
- 最后登录
- 2017-12-6
- 精华
- 0
- UID
- 257192
- 积分
- 5
- 帖子
- 4
- 主题
- 1
- 阅读权限
- 10
- 注册时间
- 2017-9-28
- 最后登录
- 2017-12-6
|
本帖最后由 bj_hpf 于 2017-11-28 22:25 编辑
以前用的单账户,使用A函数做仓位管理,没有什么问题,现在都换成多账户了,A函数取不到仓位了,我就改用Buy和SellShort,发现公式下单了,log里有纪录,委托纪录也有,但是经常图表上不产生信号,下次平仓时手数就对不上了,我专门测试了一下,发现实盘状态下确实图表没有信号,回测中历史Bar上会有下单信号,请问版主这是为什么?
这个测试公式里,我用了全局变量,来保证每个Bar只在第一个tick时,下单一次。
Params
//此处添加参数
Numeric Para1(10);
Numeric Para2(5);
Vars
//此处添加变量
Numeric LastBar;
String LogFile;
Begin
//此处添加代码正文
LogFile = "C:\\Program Files\\TradeBlazer\\TBPlus\\log\\tc_" + Symbol + ".log";
If(BarStatus == 0)
{
SetGlobalVar2("LastBar", 0);
}
LastBar = GetGlobalVar2("LastBar");
Commentary("LastBar " + Text(LastBar));
Commentary("CurrentBar " + Text(CurrentBar));
If(LastBar != CurrentBar)
{
if(CurrentBar % 2 == 0)
{
Buy(CurrentBar % 10 + 1, Close);
FileAppend(LogFile, Text(CurrentDate) + " " + Text(CurrentTime) + " Buy " + Text(CurrentBar % 10 + 1));
} Else
{
SellShort(CurrentBar % 10 + 1, Close);
FileAppend(LogFile, Text(CurrentDate) + " " + Text(CurrentTime) + " Sell " + Text(CurrentBar % 10 + 1));
}
}
SetGlobalVar2("LastBar", CurrentBar);
End
|
|