设为首页收藏本站

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

关于信号消失的技术探讨 [复制链接]

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
11#
发表于 2012-7-17 13:52:14 |只看该作者
marketposition是关联图表的。

使用道具 举报

Rank: 1

精华
0
UID
111852
积分
42
帖子
22
主题
0
阅读权限
10
注册时间
2012-8-2
最后登录
2012-11-29
12#
发表于 2012-9-24 17:27:00 |只看该作者
alex647l 发表于 2012-7-16 13:50
LZ用close来判断,肯定会出现信号闪烁,有人说close就属于未来函数,这个其实界定与否都无所谓,自己想想也 ...

学习了,是一个解决信号闪烁的思路。研究下具体怎么处理

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5525
积分
1473
帖子
429
主题
93
阅读权限
60
注册时间
2009-9-22
最后登录
2022-5-23
13#
发表于 2012-9-24 22:44:09 |只看该作者
回答的不到位。
(1)信号消失与序列函数无关,只与是否使用所谓的未来函数有关,如Close,因为在当前Bar结束之前,Close值是一直在变化的;
(2)使用历史数据来作为判断条件就能完全避免信号消失,如 if (Close[1]>Average(Close[1],10) buy(1,open);
        当然也可以用Open、Low或High作为判断条件,关键是如何在判断条件中使用,使其一旦条件成立则不管如何行情变化而该判断条件始终不会变化。
     如: If (Open>Average(Close[1],10) buy(1,open); 或 If (High>Average(Close[1],10) buy(1,open); 但不能使用这样的语句 If (xxx>High) buy(1,open)自己想一想其中的区别。
(3)序列函数千万不能放在If等条件语句内赋值,这在V4版本中是一种错误的用法,对序列函数赋值一定要放在程序的最外面,也就是要保证每一个Bar或Tick都要执行一遍,不然序列函数就会产生非法值,给逻辑判断产生不可预想的错误。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5525
积分
1473
帖子
429
主题
93
阅读权限
60
注册时间
2009-9-22
最后登录
2022-5-23
14#
发表于 2012-9-24 22:50:48 |只看该作者
“A=close;
if (marketposition==0 && A>open)
buy(0,0);
如此简单的语句,我想大家都知道会产生信号消失问题,那我不禁想深入研究下,当A>open的条件符合的时候,系统会开仓,在当前bar上行情继续更新,之后A<open的时候那开仓信号就会消失,那为何marketposition变为了1,而A还是>open的时候为何信号不会消失呢?”

关于这个问题,原因其实很简单。因为marketposition变成1后, 条件(marketposition==0 && A>open)已不再成立,因此不再在执行buy语句了,所以信号消失了。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
116920
积分
625
帖子
530
主题
64
阅读权限
60
注册时间
2013-3-15
最后登录
2014-5-7
15#
发表于 2013-7-23 20:57:31 |只看该作者
感觉TB这样的设计挺让人费解的。感觉要区分信号与实际发单的区别,如果是信号,信号可能出现闪烁是正常的,因为你可能没有实际的买卖交易,人们要根据信号来进行调整。但是如果是已经发单交易了,信号可能就是作为一个实发单的信息进行提示了。从这个意义上说还是有区别的。

也许很多朋友都是卡壳在这里。不知道理解的对不对。但是的确是个让人很纠结的问题。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
66209
积分
128
帖子
78
主题
19
阅读权限
40
注册时间
2011-9-18
最后登录
2020-12-20
16#
发表于 2013-7-29 10:42:48 |只看该作者
跨周期,30s收盘价确认,问题全部解决。

使用道具 举报

Rank: 1

精华
0
UID
5118
积分
40
帖子
16
主题
8
阅读权限
10
注册时间
2009-8-13
最后登录
2020-3-24
17#
发表于 2013-8-6 15:31:26 |只看该作者
应该是条件在盘中和盘后都成立就没有信号消失。
你用CLOSE在盘中就是当前值,如果在盘中等于A,就会有信号,但K线走完后是不等于A的,所以盘后是没有这个信号的。
所以只能用close[1],但high>A是可以的,因为盘中出现大于A了,K线走完后真实的high只会>=A

使用道具 举报

Rank: 1

精华
0
UID
80935
积分
26
帖子
11
主题
4
阅读权限
10
注册时间
2011-11-20
最后登录
2018-12-12
18#
发表于 2013-8-8 15:13:56 |只看该作者
efrog 发表于 2012-9-24 22:44
回答的不到位。
(1)信号消失与序列函数无关,只与是否使用所谓的未来函数有关,如Close,因为在当前Bar结 ...

说的比较简单明白,高人啊

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5525
积分
1473
帖子
429
主题
93
阅读权限
60
注册时间
2009-9-22
最后登录
2022-5-23
19#
发表于 2013-9-18 11:35:13 |只看该作者
谢谢,不是什么高人,大家一起学习进步。

使用道具 举报

Rank: 1

精华
0
UID
5118
积分
40
帖子
16
主题
8
阅读权限
10
注册时间
2009-8-13
最后登录
2020-3-24
20#
发表于 2013-9-28 07:27:34 |只看该作者
在当根K线上marketposition的变化不会引起信号消失,其他条件的变化会引起信号消失,可能是TB特别考虑过,否则开了仓信号就会消失,TB就没法用了.

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 20:07

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部