设为首页收藏本站

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

设置的进场条件,执行错乱 [复制链接]

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
跳转到指定楼层
1#
发表于 2021-5-5 17:47:44 |只看该作者 |倒序浏览
请教各位大侠

我设置的进场条件是,今天的开盘价大于昨天的收盘价,在复盘时发现,有相当一部分单子是错的,语句和复盘截图如下,请教错在哪里,如何纠正


附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
2#
发表于 2021-5-6 08:01:50 |只看该作者
在运行到开仓第二根K线时,k_Bstop和k_BS就又初始化了,不是你设定的Open+-200了。可以改用全局变量来保存这两个值,也可以用序列变量延续。

使用道具 举报

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
3#
发表于 2021-5-6 12:40:45 |只看该作者
k_Bstop和k_BS,设置的都是全局变量,问题是没有按照open>closed(1)这个条件执行

使用道具 举报

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
4#
发表于 2021-5-6 12:44:09 |只看该作者
从复盘截图中,右边的方框内可以看出,今天的开盘价明显低于昨天的收盘价,并不符合open>closed(1),

使用道具 举报

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
5#
发表于 2021-5-6 13:25:07 |只看该作者
条件上没看到有什么问题,要么你用Commentary函数输出一下开仓K线时的Open和CloseD(1),看看现实什么数值。

使用道具 举报

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
6#
发表于 2021-5-6 17:25:32 |只看该作者
好的,我试一下

使用道具 举报

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
7#
发表于 2021-5-6 20:29:49 |只看该作者
Yuen_Lee你好,我不会使用超级图标,但是从“数据窗口”中可以找到每天的开盘价、收盘价等数据,open>close(1)这个条件,与“数据窗口”中的数据显示不吻合,
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
8#
发表于 2021-5-7 08:36:01 |只看该作者
找到结症了。CloseD()为序列函数,不能放在If()语句中。按下面格式改一下就可以了。
Numeric  prevclose;

prevclose = CloseD(1);
If(MarketPosition == 0 && Open > prevclose)
{
   ...
}

使用道具 举报

Rank: 1

精华
0
UID
298104
积分
26
帖子
13
主题
3
阅读权限
10
注册时间
2020-11-22
最后登录
2021-7-23
9#
发表于 2021-5-7 10:55:23 |只看该作者
谢谢,另外,移动平均线也是序列函数,在使用时,会不会也存在同样的问题
NumericSeries ma5;//5日平均线


ma5 = AverageFC(close,5);

if(ma5[1]>ma5[2])//5日均线倾斜向上
{
……
}

ma5[1]>ma5[2]这个条件,这样用是不是也存在问题

使用道具 举报

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
10#
发表于 2021-5-7 11:40:27 |只看该作者
本帖最后由 Yuen_Lee 于 2021-5-7 11:43 编辑

ma5是序列变量,不是函数,所以这种用法没有问题。只是不能把AverageFC()放在If()语句中,因为AverageFC()函数中含有序列变量。总之,含有序列变量的函数不能放在条件语句中,但序列变量是可以的。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 10:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部