Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:FILTERX 函数在逐K线模式下不能直接在IF控制语句之内引用

1楼
m1978xz 发表于:2019/4/26 15:11:51
错误提示:FILTERX 函数在逐K线模式下不能直接在IF控制语句之内引用

请问该怎么解决?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190426151040.png
图片点击可在新窗口打开查看


2楼
FireScript 发表于:2019/4/26 16:09:41
 定义一个变量在if外部取到它的值,然后放在if里面调用。
3楼
m1978xz 发表于:2019/4/26 16:35:09
感谢版主回复,但是我还没弄明白,比如下边这一段“

If fb1=0 and fb3=0 and fb5=0 and fb6 and fb7 then begin         
             pen:=s_direction*10+s_status;
              DRAWTEXT(h>0,s_czsc_low,'p'),colorwhite;
             FILTERX("p",i+1);
             DRAWTEXT(h>0,s_czsc_low,'p');
               end

第四句我理解是把之前第(i+1)根K线上输出的东西删掉,这个应该不是归零的意思吧?
比如我在前边(i+1)根K线顶部输出一个“顶”字。现在我让这个顶字不再出现。而不是归零吧。
而且在外部写一个变量,在if外部取到它的值,然后放在if里面调用。这个我不太理解怎么用。
比如应该在外部写个:pd:= FILTERX("p",i+1);
这样?然后在if中该怎么写呢?不能在其中某一行就写pd这个函数名吧?正确的格式应该是什么呢?




4楼
wenarm 发表于:2019/4/28 8:27:03

FILTERX(条件,作用周期)。它是改变信号,不是改变字符串的。

5楼
m1978xz 发表于:2019/4/28 8:33:53
谢谢版主回复,啥叫改变信号?让对应的那个值为零?还是变成无效数?
6楼
m1978xz 发表于:2019/4/28 8:35:46
而且这个外部调用应该怎么做?

比如在If外边写  aa:=FILTERX("p",i+1);
然后在if里写aa=1;
这样行么?还是应该用别的写法?
7楼
wenarm 发表于:2019/4/28 8:37:48

用法不对。第一个是条件。它只会改变条件。不会改变你要的字符串。

不是0就是1

例如:

FILTERX(CLOSE>OPEN,3)

[此贴子已经被作者于2019/4/28 8:38:01编辑过]
8楼
m1978xz 发表于:2019/4/28 8:39:02
原来如此。我明白了。谢谢版主。
9楼
m1978xz 发表于:2019/4/28 9:04:52
版主~那这个函数应该怎么在IF外边写,之后在IF内引用?
我不太清楚这个格式怎么写对的。
10楼
wenarm 发表于:2019/4/28 9:18:50

很对函数必须放在if之外使用,保证其序列变量值的连续性。

然后再在判断语句中使用这个变量。

共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02344 s, 3 queries.