设为首页收藏本站

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

请教一个关于序列变量的问题 [复制链接]

Rank: 1

精华
0
UID
231728
积分
38
帖子
23
主题
7
阅读权限
10
注册时间
2016-4-7
最后登录
2018-12-2
跳转到指定楼层
1#
发表于 2018-11-21 23:13:49 |只看该作者 |倒序浏览
在实盘交易中,因为一个tick程序就会执行一次。
假如一根K线刚开始的时候,给序列变量赋值TT=5000,那同一根K线,第二个tick执行的时候,TT还是5000吗?
我用commentary语句看到,第二个tick时,TT会归零。不知道是为什么?

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-11-22 08:41:49 |只看该作者
将如下代码放到K线中,或者有助于理解序列变量
  1. vars
  2.    numericseries aa;
  3. begin
  4.     commentary("当根K赋值前="+text(aa));
  5.     aa = 5000;
  6.     commentary("当根K赋值后="+text(aa));
  7. end
复制代码

使用道具 举报

Rank: 1

精华
0
UID
231728
积分
38
帖子
23
主题
7
阅读权限
10
注册时间
2016-4-7
最后登录
2018-12-2
3#
发表于 2018-11-22 15:18:22 |只看该作者
小米 发表于 2018-11-22 08:41
将如下代码放到K线中,或者有助于理解序列变量

好 谢谢老师 您意思我明白
现在收盘了,晚上开盘后,我给验证一段代码,请您看看

使用道具 举报

Rank: 1

精华
0
UID
231728
积分
38
帖子
23
主题
7
阅读权限
10
注册时间
2016-4-7
最后登录
2018-12-2
4#
发表于 2018-11-22 21:26:25 |只看该作者
小米 发表于 2018-11-22 08:41
将如下代码放到K线中,或者有助于理解序列变量

你好,您这段代码的意思是不是想表达序列变量在相邻两根K之间是自动传递的,不用在写一个AA=AA[1]这样的语句?
我想表达的不是这个这个意思,请看这个代码:
  1. Begin
  2. If(A_BuyPosition==0 AND GetGlobalVar(99)==0)
  3. {
  4. If(High>High[1])
  5. {
  6. TT=1;
  7. }
  8. If(TT[1]==1)
  9. {
  10. A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
  11. AA=5000;
  12. TT=0;
  13. SetGlobalVar(99,1);
  14. }
  15. }         
  16. Commentary("TT:"+Text(TT));
  17. Commentary("AA:"+Text(AA));
  18. Commentary("全局99:"+Text(GetGlobalVar(99)));
  19. End
复制代码
这段代码在实盘里运行
假设我们把High>High[1]的K线标记为第0根,在第0根K线时,TT会变成1,AA保持0,全局变量99保持0。
到第1根K线第1个tick时,AA==5000,TT==0,全局变量99==1,但第1根K线第2个tick执行完后,会变成AA==0,TT==1,全局变量99依旧是1
所以,我想表达的是:
针对每一根BAR里每一个tick,程序每次刚开始执行的时候,序列变量的值不是同一根BAR里上一个tick执行完后的值,而是从上一根BAR里取的值

我尽力表达清楚了,也不知道有没有说清楚

使用道具 举报

Rank: 1

精华
0
UID
231728
积分
38
帖子
23
主题
7
阅读权限
10
注册时间
2016-4-7
最后登录
2018-12-2
5#
发表于 2018-11-22 21:27:42 |只看该作者
小米 发表于 2018-11-22 08:41
将如下代码放到K线中,或者有助于理解序列变量
  1. Vars
  2. NumericSeries TT;       
  3. NumericSeries AA;
复制代码
代码少了这两句

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2018-11-23 15:04:26 |只看该作者
qwas121 发表于 2018-11-22 21:26
你好,您这段代码的意思是不是想表达序列变量在相邻两根K之间是自动传递的,不用在写一个AA=AA[1]这样的 ...

“针对每一根BAR里每一个tick,程序每次刚开始执行的时候,序列变量的值不是同一根BAR里上一个tick执行完后的值,而是从上一根BAR里取的值”
----这样的呀。之前 的代码里在赋值 语句的前后分别输出commentary也是想让大家理解这个关系啊。

使用道具 举报

Rank: 1

精华
0
UID
231728
积分
38
帖子
23
主题
7
阅读权限
10
注册时间
2016-4-7
最后登录
2018-12-2
7#
发表于 2018-11-23 21:33:34 |只看该作者
小米 发表于 2018-11-23 15:04
“针对每一根BAR里每一个tick,程序每次刚开始执行的时候,序列变量的值不是同一根BAR里上一个tick执行完 ...

啊 也是

使用道具 举报

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

bottom

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

GMT+8, 2024-4-25 19:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部