设为首页收藏本站

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

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

Rank: 4

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

使用道具 举报

Rank: 4

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

使用道具 举报

Rank: 4

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

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

使用道具 举报

Rank: 4

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

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

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 18:44

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部