设为首页收藏本站

 找回密码
 注册
查看: 2868|回复: 2
打印 上一主题 下一主题

TB交易测试买卖点的问题 [复制链接]

Rank: 1

精华
0
UID
37650
积分
23
帖子
5
主题
4
阅读权限
10
注册时间
2012-3-26
最后登录
2012-7-18
跳转到指定楼层
1#
发表于 2012-6-20 22:46:51 |只看该作者 |倒序浏览
本帖最后由 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天线,如果真的上穿那当天收盘价格已经高于开盘价格(测试中交易记录的买入点在开盘点优势比收盘买大很多,文华的就是在收盘价格+滑点买入),这样测算出的结果逻辑上有问题,实际是开盘就预先知道是否会上穿,不知道这个问题何解?我是新手,请大家帮助!
流水

Rank: 1

精华
0
UID
37650
积分
23
帖子
5
主题
4
阅读权限
10
注册时间
2012-3-26
最后登录
2012-7-18
2#
发表于 2012-6-22 17:54:53 |只看该作者
这个奇怪的论坛,简单的问题都无人答复,自己回答自己
问题出在
short1=AverageFC(Close,Length1);
long1=AverageFC(Close,Length2);
改成
short1=AverageFC(Close[1],Length1);
long1=AverageFC(Close[1],Length2);
就符合预想的方案
但Buy(1,Open);
  SellShort(1,Open);这两个语句又奇怪了,按帮助文件,这两个只能产生开仓动作,没有平仓,测试后看交易记录是有平仓的,又奇怪了!!


使用道具 举报

Rank: 1

精华
0
UID
98411
积分
28
帖子
15
主题
1
阅读权限
10
注册时间
2012-2-18
最后登录
2013-8-1
3#
发表于 2012-6-27 01:15:18 |只看该作者
平仓用 BuyToCover(); 和 Sell();

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 00:54

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部