设为首页收藏本站

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

插入这样的两行语句,策略不会跑了 [复制链接]

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
跳转到指定楼层
1#
发表于 2015-6-23 10:56:08 |只看该作者 |倒序浏览
本帖最后由 edwardkm 于 2015-6-23 10:59 编辑

版主啊,在已经测试可执行的A_sendorder函数发单的策略中,在Begin后插入这样的两行语句来限制商品,在插入点后面的代码就不执行了,你能知道是为什么吗?
  1.         Begin
  2.         ...
  3. //        If (Right(Data0.Symbol,3) != "888" Or Right(Data0.Symbol,3) != "000") Return;
  4.         If (Left(Data1.Symbol,1)!="I" Or Len(Data1.Symbol)!=6) Return;
  5.         ...
复制代码

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
2#
发表于 2015-6-23 11:05:05 |只看该作者
说明:把第一行加//,就正常了。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
179100
积分
642
帖子
634
主题
0
阅读权限
60
注册时间
2014-1-10
最后登录
2016-12-30
3#
发表于 2015-6-23 14:09:49 |只看该作者
edwardkm 发表于 2015-6-23 11:05
说明:把第一行加//,就正常了。

你图表上加载的什么合约?

使用道具 举报

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
4#
发表于 2015-6-23 14:55:52 |只看该作者
xiaoxiao8 发表于 2015-6-23 14:09
你图表上加载的什么合约?

一个是IF888,另一个是IF1507。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
179100
积分
642
帖子
634
主题
0
阅读权限
60
注册时间
2014-1-10
最后登录
2016-12-30
5#
发表于 2015-6-23 17:06:34 |只看该作者
edwardkm 发表于 2015-6-23 14:55
一个是IF888,另一个是IF1507。


把or改成and,用or只要其中一个符合都会Return。

使用道具 举报

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
6#
发表于 2015-6-24 11:46:58 |只看该作者
哈哈,还真是,犯了个不该犯的低级错误!

使用道具 举报

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
7#
发表于 2015-6-24 11:47:28 |只看该作者
Thx!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2015-6-24 12:38:28 |只看该作者
可试着写成这样,限制data0只能是888或000了。
  1. Vars
  2.         Bool abc;
  3. Begin
  4.          If (Right(Data0.Symbol,3) == "888" Or Right(Data0.Symbol,3) == "000") abc=true;
  5.          if (abc==false)Return;
  6.          .......
复制代码
表达方式可以多种,没有固定模板,只要满足你的需求即可。

使用道具 举报

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
9#
发表于 2015-6-25 00:11:36 |只看该作者
小米 发表于 2015-6-24 12:38
可试着写成这样,限制data0只能是888或000了。表达方式可以多种,没有固定模板,只要满足你的需求即可。 ...

为了限制Data0只能是888或000,我把它写成这样:

If (Not(Right(Data0.Symbol,3) == "888" Or Right(Data0.Symbol,3) == "000")) Return;

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 22:35

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部