设为首页收藏本站

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

请问如下代码为何会出现信号闪烁? [复制链接]

Rank: 2

精华
0
UID
220169
积分
77
帖子
48
主题
19
阅读权限
30
注册时间
2015-9-21
最后登录
2020-3-27
跳转到指定楼层
1#
发表于 2020-3-24 21:26:24 |只看该作者 |倒序浏览
请问如下代码为何会出现信号闪烁。
             If(Close[1]<GetGlobalVar(1)){
                            Sell(0,Open);
                            SetGlobalVar(1,0); //这是一个自己定义的用来止损的全局变量
                    }

图表上这个信号是有的,模拟交易也成交了,但是策略显示还有持仓。
具体描述是,这根K线的情况是一个隔夜的大阳线。开盘报了一个卖价,1秒钟过后就报信号闪烁了。然后又过了4秒委托成交,这时候账户没有持仓了,图表上也有平仓信号,但是策略显示的仓位还在。

请问这个问题是什么造成的,应该怎么解决。我猜测是报价是open或者全局变量,但是完全不知道为什么。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2020-3-25 13:47:42 |只看该作者
这个地方使用全局变量不太合适 。。建议换成序列变量。

使用道具 举报

Rank: 2

精华
0
UID
220169
积分
77
帖子
48
主题
19
阅读权限
30
注册时间
2015-9-21
最后登录
2020-3-27
3#
发表于 2020-3-25 17:34:29 |只看该作者
小米 发表于 2020-3-25 13:47
这个地方使用全局变量不太合适 。。建议换成序列变量。

我也是在论坛其他地方看到全局变量会造成信号闪烁。但是没看到原理解释。
版主能不能再解释一下这个地方为什么全局变量不太合适啊,我好知其所以然。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2020-3-26 09:04:50 |只看该作者
a410999923 发表于 2020-3-25 17:34
我也是在论坛其他地方看到全局变量会造成信号闪烁。但是没看到原理解释。
版主能不能再解释一下这个地方 ...

先看一下这个贴子里3#的内容http://bbs.tb18.net/thread-22580-1-1.htm,了解一下序列变量的运行机制。。
而全局变量与序列变量不同,他的值一旦被改变,那就是改变了。且一个全局变量里不能记录多个值  。            
                             

使用道具 举报

Rank: 2

精华
0
UID
220169
积分
77
帖子
48
主题
19
阅读权限
30
注册时间
2015-9-21
最后登录
2020-3-27
5#
发表于 2020-3-26 10:16:22 |只看该作者
小米 发表于 2020-3-26 09:04
先看一下这个贴子里3#的内容http://bbs.tb18.net/thread-22580-1-1.htm,了解一下序列变量的运行机制。。 ...

页面404。
这个代码里面里感觉用全局变量没有问题啊。globalvar里面放了止损价格,如果止损了就把这个全局变量置为0.,这会在什么情况下出错呢。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2020-3-26 11:51:03 |只看该作者
a410999923 发表于 2020-3-26 10:16
页面404。
这个代码里面里感觉用全局变量没有问题啊。globalvar里面放了止损价格,如果止损了就把这个全 ...

http://bbs.tb18.net/thread-22580-1-1.html

我可以肯定是全局变量的问题。

使用道具 举报

Rank: 2

精华
0
UID
220169
积分
77
帖子
48
主题
19
阅读权限
30
注册时间
2015-9-21
最后登录
2020-3-27
7#
发表于 2020-3-26 16:56:54 |只看该作者
小米 发表于 2020-3-26 11:51
http://bbs.tb18.net/thread-22580-1-1.html

我可以肯定是全局变量的问题。

噢,就是这个语句1根K线会执行好多次。第一次我把它赋值成0了,以后就再也不会触发了,所以这根k线开始有信号,结束的时候没信号了吧。

那假如我把这个全局变量换成了序列变量,序列变量在这根K线上第一次也会被赋值成0了,以后也同样不会出发了,这不是和全局变量一样么

使用道具 举报

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

bottom

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

GMT+8, 2024-4-26 23:34

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部