开拓者期货期权程序化系统交易论坛
标题:
历史测试平仓标示错
[打印本页]
作者:
maodong
时间:
2008-2-27 23:19:20
标题:
历史测试平仓标示错
历史测试,最后用close平仓,调试出平仓价格没有错。只是图画到天上了。
作者:
nopain
时间:
2008-2-28 09:05:59
因为最后一个Bar您的交易价格是12590左右。这是正常的。您用了一个很极端的价格想要保证买入平仓即时成交。
作者:
maodong
时间:
2008-2-28 10:09:09
没有使用极端价格,你指的是停板价吗?
我用的收盘价,价格就是12372,测试品种:豆油0805 1分钟 2008-02-21,22,好几天都这样。
其他品种还没发现这个现象。
作者:
maodong
时间:
2008-2-28 10:20:40
还有,如果计算出的下单价格不在最高最低之间,不是自动用收盘价替代吗?
作者:
nopain
时间:
2008-2-28 10:21:35
您的程序是否用了BarStatus==2进行分支处理?
最后Bar发单的价格是怎么写的?
作者:
maodong
时间:
2008-2-28 10:40:44
原帖由
nopain
于 2008-2-28 10:21 发表
您的程序是否用了BarStatus==2进行分支处理?
最后Bar发单的价格是怎么写的?
没有用BarStatus==2进行分支处理。
If (Time > 0.145830 And Time < 0.150030) //空头或最后一个Bar平仓操作
{
If (MarketPosition() == -1) //有空单,应该全部平空仓。
{
myExitPrice = Close();
ContractCount = CurrentContracts(); //获取当前的合约手数
AvgCost = AvgEntryPrice(); //获得平均成本
CurrentProfit = PositionProfit(); //当前持仓位置的浮动盈亏
If (BuyToCover(ExitSize, myExitPrice))
{
SetGlobalVar(IS_IN_WAVE, NO); //波段结束。
SetGlobalVar(TRADE_COUNT, GetGlobalVar(TRADE_COUNT) + 1); //交易次数加1。
//调试信息
Commentary("-----空头离场-----");
Commentary("空头离场平仓价 : " + Text(myExitPrice));
Commentary("总共第 " + Text(GetGlobalVar(TRADE_COUNT)) + " 回合交易");
Commentary("当前盈亏 : " + Text(CurrentProfit / 10000) + "万元");
}
}
}
复制代码
作者:
nopain
时间:
2008-2-28 11:02:19
您看看注释中平仓的价位是多少?
作者:
maodong
时间:
2008-2-28 11:06:00
就是收盘价。....
作者:
maodong
时间:
2008-3-3 21:06:09
在交易记录中,平仓价格不是收盘价,就是图中表明的价格。
这个问题有进展吗?这个问题时不时出现,使测试结果产生重大偏差。
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2