设为首页收藏本站

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

最后一根bar上实时发信号,能在图表上产生固定的讯号吗? [复制链接]

Rank: 4

精华
0
UID
14685
积分
401
帖子
80
主题
23
阅读权限
50
注册时间
2010-7-21
最后登录
2014-6-4
跳转到指定楼层
1#
发表于 2010-8-18 09:11:11 |只看该作者 |倒序浏览
在最后一根bar线上执行
Avg = XAverage(Close[1], 5);
If( CrossOver(Close, Avg))
{
        BuyToCover(2, Close, false);
}
按照论坛上的讨论,应该是能够实时只发出一次平仓信号的(如果用A_SendOrder的话,能连续发出信号),我就是需要能达到这种发信号且只发送一次的效果。不过这个信号却不能在图表上产生固定的平仓提示讯号,请问有办法解决这个问题吗?

用其他的什么方法解决也可以,我想做的就是:最后一根bar上实时发信号,能在图表上产生固定的讯号,请问这个需求TB能实现吗?  多谢~~

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14123
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
2#
发表于 2010-8-18 09:33:34 |只看该作者
1# xiaoyu0728

你的代码在实时交易中,在当前bar没走完之前close是变化的,会造成信号反复的情况,可以采用high代替close,信号就固定了
Avg = XAverage(Close[1], 5);
If( CrossOver(High, Avg))
{
        BuyToCover(2, High, false);
}
乐丁

使用道具 举报

Rank: 4

精华
0
UID
14685
积分
401
帖子
80
主题
23
阅读权限
50
注册时间
2010-7-21
最后登录
2014-6-4
3#
发表于 2010-8-18 10:32:11 |只看该作者
由于特定的需要,使得我不能用High代替Close,那么请问一下,我向下面这样做可能实现效果吗?如果不能的话是为什么呢?我也在实盘测试中……       多谢指教~~
               If(BarStatus == 2)
        {
                If( CrossOver(Close, Avg))
                {
                                SetGlobalVar(10,1);
                }

                If(GetGlobalVar(10)==1)
                {
                        Buy(2, Close, false);       
                        SetGlobalVar(20, Time());               
                }

                If( (GetGlobalVar(20)+0.0005)==CurrentTime() )
                {
                        SetGlobalVar(10,0);
                }
        }

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
4#
发表于 2010-8-18 12:03:17 |只看该作者
3# xiaoyu0728


这段也是会有信号消失的,因为close的信号是不断变化的

使用道具 举报

Rank: 4

精华
0
UID
14685
积分
401
帖子
80
主题
23
阅读权限
50
注册时间
2010-7-21
最后登录
2014-6-4
5#
发表于 2010-8-18 13:07:52 |只看该作者
本帖最后由 xiaoyu0728 于 2010-8-18 13:20 编辑

我测试了,上面那段代码的逻辑有问题,肯定是不对的
可是有点不明白的是:
Avg = XAverage(Close[1], 5);
If( CrossOver(High, Avg))
{
        BuyToCover(2, High, false);
}  中High的数据也会变化的呀?虽然if语句是永远成立的,但BuyToCover里面的High还是有可能改变的呀?为什么这个信号就能不变呢?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2010-8-18 14:49:04 |只看该作者
每个bar的high只会往一个方向变化,所以信号是稳定的,主要high突破了一次,第二次如果high变化了,那么条件依然是成立的

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 05:29

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部