设为首页收藏本站

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

全局变量只有下个BAR才能改变,那无法控制当前BAR的TICK交易? [复制链接]

Rank: 2

精华
0
UID
49422
积分
83
帖子
58
主题
13
阅读权限
30
注册时间
2011-6-24
最后登录
2019-6-18
跳转到指定楼层
1#
发表于 2014-11-7 10:38:10 |只看该作者 |倒序浏览
全局变量只有下个BAR才能改变,那无法控制当前BAR的TICK交易?

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2014-11-7 13:47:01 |只看该作者
全局变量是即时改变的,没有等到下个bar才改变一说。

使用道具 举报

Rank: 2

精华
0
UID
49422
积分
83
帖子
58
主题
13
阅读权限
30
注册时间
2011-6-24
最后登录
2019-6-18
3#
发表于 2014-11-9 15:25:00 |只看该作者
小米 发表于 2014-11-7 13:47
全局变量是即时改变的,没有等到下个bar才改变一说。


         P= GetGlobalVar(0);
        If(MarketPosition==1) // 有多仓的情况
         {
                        SetGlobalVar(0,0);

                        If( BarStatus == 2 and (P==1)  )
                        {
                        FileAppend(LogName, "平仓++++++++++++++++++");       
                        }
}
     下面代码是如果成交设置P==1
本来是只想向LOG写一次,下一tick获取P的新值改为0后就不写。
可是程序总是要一个bar期间每个tick都写log。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2014-11-10 09:42:47 |只看该作者
jesseyoung 发表于 2014-11-9 15:25
P= GetGlobalVar(0);
        If(MarketPosition==1) // 有多仓的情况
         {

将0号全局变量赋值 为1的语句在哪里?

使用道具 举报

精华
0
UID
196649
积分
139
帖子
58
主题
0
阅读权限
0
注册时间
2014-11-7
最后登录
2014-11-15
5#
发表于 2014-11-10 12:20:18 来自手机 |只看该作者

使用道具 举报

Rank: 2

精华
0
UID
49422
积分
83
帖子
58
主题
13
阅读权限
30
注册时间
2011-6-24
最后登录
2019-6-18
6#
发表于 2014-11-10 15:16:16 |只看该作者
小米 发表于 2014-11-10 09:42
将0号全局变量赋值 为1的语句在哪里?

完整语句如下:
         P= GetGlobalVar(0);
        If(MarketPosition==1) // 有多仓的情况
         {
                        SetGlobalVar(0,0);

                        If( BarStatus == 2 and (P==1)  )
                        {
                        FileAppend(LogName, "平仓++++++++++++++++++");        
                        }
        }
        if (MarketPosition==0 And BuyCondition )
         {

                        SetGlobalVar(0, 1);       

        }

使用道具 举报

Rank: 2

精华
0
UID
49422
积分
83
帖子
58
主题
13
阅读权限
30
注册时间
2011-6-24
最后登录
2019-6-18
7#
发表于 2014-11-10 15:18:52 |只看该作者
按道理下一个tick就不会进入写文件
可是我整个bar都在写文件,很影响效率,放弃实盘写log了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2014-11-10 15:51:21 |只看该作者
jesseyoung 发表于 2014-11-10 15:16
完整语句如下:
         P= GetGlobalVar(0);
        If(MarketPosition==1) // 有多仓的情况

其实你的代码还不完整的吧??不然,都没有看到任何的指令语句,怎么会有marketposition的改变呢?
如果你只是想验证全局变量是当前TICK赋值 后就能改变其值还是这个bar结束后方可改变的话,
我建议你不必要使用当前这个带marketposition的条件呀。。可以直接看TB公式指南里的“tick计数器”这个模板,
或是将你的条件里去掉marketposition等条件后再来试试。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-7 02:02

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部