- 精华
- 0
- 在线时间
- 1 小时
- UID
- 37650
- 积分
- 23
- 帖子
- 5
- 阅读权限
- 10
- 注册时间
- 2012-3-26
- 最后登录
- 2012-7-18
- 精华
- 0
- UID
- 37650
- 积分
- 23
- 帖子
- 5
- 主题
- 4
- 阅读权限
- 10
- 注册时间
- 2012-3-26
- 最后登录
- 2012-7-18
|
本帖最后由 greentree7073 于 2012-6-20 22:55 编辑
一个简单的双均线交叉买卖策略,如下:
Params
Numeric Length1(5);
Numeric Length2(10);
Vars
Numeric short1;
Numeric long1;
Bool Condition1;
Bool Condition2;
Begin
PlotNumeric("MA1",AverageFC(Close,Length1));
PlotNumeric("MA2",AverageFC(Close,Length2));
short1=AverageFC(Close,Length1);
long1=AverageFC(Close,Length2);
Condition1 = CrossOver(short1,long1) ;
Condition2 = CrossOver(long1,short1) ;
if (Condition1)
{
Buy(1,Open);
}
if (Condition2)
{
SellShort(1,Open);
}
End
发现优化后的参数拿到文华去测试结果完全不一样,仔细看过交易记录,发现TB测试运算的开仓点和平仓点有问题:比如以上代码是5天均线上穿10天线买入,看交易记录上面的买入点在上穿那根K线开盘处,但实际上没有收盘并不知道5天线是否最终会上穿10天线,如果真的上穿那当天收盘价格已经高于开盘价格(测试中交易记录的买入点在开盘点优势比收盘买大很多,文华的就是在收盘价格+滑点买入),这样测算出的结果逻辑上有问题,实际是开盘就预先知道是否会上穿,不知道这个问题何解?我是新手,请大家帮助! |
|