设为首页收藏本站

 找回密码
 注册
楼主: 捕快
打印 上一主题 下一主题

tb的自动交易测试 [复制链接]

中级操盘手

noplan notrade

Rank: 9Rank: 9Rank: 9

精华
0
UID
1762
积分
13243
帖子
572
主题
75
阅读权限
150
注册时间
2008-6-19
最后登录
2012-1-2
51#
发表于 2009-4-30 15:09:14 |只看该作者

回复 #50 捕快 的帖子

如果你用Close来做判断条件开仓,其实实盘中Close是变化的,直到这条bar走完了,它的Close才确定下来.

比如你用Close大于某均线值开多,当盘中价格超过这条均线,那么你的系统就会开多,但是当这条bar走完的时候,真正的Close却低于,这个均线.那么你的系统就会认为你没有开仓,所以就不可能有平仓的动作.

这就是所谓的信号消失.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
52#
发表于 2009-4-30 15:20:09 |只看该作者
但是当这条bar走完的时候,真正的Close却低于,这个均线.那么你的系统就会认为你没有开仓,所以就不可能有平仓的动作.
===
系统对于持仓的判断不应该来自于信号,而应该来自于帐户的持仓呀。如果真是这个原因的话,那这个问题应该得到很好的解决。
自动交易不能对帐户的持仓视而不见,如果解决不了,这问题太大了。
一旦亏损的单子拖下去。后果可能很严重。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
53#
发表于 2009-5-2 20:11:22 |只看该作者

回复 #52 捕快 的帖子

也可以是来自于真实持仓

“一旦亏损的单子拖下去.....”  这种顾虑是存在的,但其原因,不是楼主所想的那样

1、你的系统必须保证图表上的交易信号真实存在,不会消失、漂移,因为系统是根据图表的信号进行交易。如果你的系统做出了一个开仓的动作,而随后,这个开仓的标记消失了,系统自然不会平仓。你可以换个角度想想,如果根本没信号了,还会平仓,这才是严重问题。如果信号消失、反复的问题你还没有解决,建议你再次认真的多看看其他人的贴,这方面有很多讨论了。并且,这不是TB软件的问题,也不是不能解决的问题。

2、另外一个方面,是一些不可控的因素,需要人工监督,不管你是以何种方式监控。比如,当你的系统建立了一个仓位,这个信号真实存在,但是,当平仓的时候,你的网络中断、服务器中断,或者其他外因,刚好错过了这个平仓信号。那么,当正常状态恢复的时候,你的仓位也不会被平仓。因为平仓指令已经过期。

我给你一个友善的建议。在发表质疑的时候,也要认真思考和审视自己是否真实理解问题的真正根源所在。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
54#
发表于 2009-5-3 11:27:25 |只看该作者
Q:如何处理讯号出现又消失的情况?

A:有以下两种方式:
1、使用Buy(1,Close,True)这样的格式,将信号延迟到该Bar走完,下一个Bar的第一个Tick出现的时候发送。
这个时候您可以用Buy(1,Close,True),表示的意思是用当前Bar的收盘价在下一个Bar开始时候交易。
您也可以用Buy(1,NextOpen,True),表示用下一个Bar的开盘价交易。
对于上面的这种处理方式,还有另外一种变通的处理,那就是取上一个Bar的条件或数据,只用当前Bar的Open价来进行判断。这样公式会写得更清晰。以下两段代码效果是相同的。

[Copy to clipboard] [ - ]CODE:
Condition = 您的交易条件;
If(Condition)
{
    Buy(1,NextOpen,True);
}


[Copy to clipboard] [ - ]CODE:
Condition = 您的交易条件;
If(Condition[1])
{
    Buy(1,Open);
}
2、第一种处理方式对于时间敏感性不高的系统,是可以采取的,但有些系统,如果选择延迟发送,则会导致比较大的性能下降。
此时我们需要选择另外一种处理方式。使用High,Low,Open这样能够保持住的价格来进行条件判断。
是价格往上的突破形成的交易操作用High来判断。是价格下上的突破形成的交易操作用Low来判断。其他不确定方向的情况最好用Open来判断。
比如,以下两种情况在实时交易方面同样迅速,但后面的就不会出现讯号消失的问题。

[Copy to clipboard] [ - ]CODE:
AvgClose = AverageFC(Close,10);
If(CrossOver(Close,AvgClose))
{
    Buy(1,AvgClose+MinMove*PriceScale);
}


[Copy to clipboard] [ - ]CODE:
AvgClose = AverageFC(Close,10);
If(CrossOver(High,AvgClose))
{
    Buy(1,AvgClose+MinMove*PriceScale);
}

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
55#
发表于 2009-5-3 12:02:52 |只看该作者
真的是很多问题其实都有答案,只是我那时还不懂得如何去找。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
56#
发表于 2009-5-3 12:03:56 |只看该作者
貌似          第2个方案不错

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
57#
发表于 2009-5-4 13:04:11 |只看该作者
原帖由 只求薄利 于 2009-5-2 20:11 发表
也可以是来自于真实持仓

“一旦亏损的单子拖下去.....”  这种顾虑是存在的,但其原因,不是楼主所想的那样

1、你的系统必须保证图表上的交易信号真实存在,不会消失、漂移,因为系统是根据图表的信号进行交易。如果你的系 ...

=======
我是个编程盲,很多基础的问题都不明白,得到斑竹老大的指点是我学习的机会。非常感谢。为了不让标题产生不良的影响,我把标题改了。不好意思,我也是刚知道题目可以修改。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
58#
发表于 2009-5-5 07:59:30 |只看该作者
交易系统已经修改了至少4次,0451老师仍在继续的升级中。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
59#
发表于 2009-5-5 09:21:16 |只看该作者
今日测试;
3845发单,成交3842的糖909多单5手,探低3825没有止损。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1517
积分
1441
帖子
350
主题
29
阅读权限
60
注册时间
2008-4-19
最后登录
2011-10-16
60#
发表于 2009-5-5 09:25:07 |只看该作者
P0909,间隔14秒连续开单,不符合持仓不再开仓的原则。2次止损交易后不在开仓,正确。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-9 06:03

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部