Rss & SiteMap

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

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

标题:菜鸟请教一个简单问题

1楼
伍铁木 发表于:2013/5/7 9:20:55
RUNMODE:1;
cc:BARPOS,linethick0;
n:=0;
IF BARPOS = 2 THEN
    n:=1;
BB:n; 

序列模式,第二根k线n=1.为何BB输出的一直为0
难道语句
IF BARPOS = 2 THEN
    n:=1;
不起作用?
2楼
jinzhe 发表于:2013/5/7 9:32:25

改成逐k线模式,runmode:0,

序列只计算最后k线,逐k线计算每一根k线

3楼
伍铁木 发表于:2013/5/8 8:00:39

版主早上好,我的疑惑是:

我把公式写成这样:

RUNMODE:1;
ma10:=ma(c,10);
ma30:=ma(c,30);
IF(ma10>ma30,1,5);

序列只解析最后k线,如下图


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

1.最后一根K线时,ma10是小于ma30的,按最后一根K线计算的话,副图公式tt应该一直输出的是5.可实际上不是,是按ma10是大于或小于ma30分别输出1或5的

2.而且上面的公式改成逐K输出没有任何变化,就是说这个公式序列和逐K没任何区别,这如何解释?

3.希望版主详细解释下,谢谢


 

4楼
jinzhe 发表于:2013/5/8 9:05:04

RUNMODE:1;
ma10:=ma(c,10);
ma30:=ma(c,30);
n:=0;
if ma10>ma30 then n:=1;
n;

 

这么改,才是和你所说的是一个问题,n:=0这个在序列中全部定义好了,所以只在最后根k线判断n

 

5楼
伍铁木 发表于:2013/5/8 10:50:54

RUNMODE:1;
ma10:=ma(c,10);
ma30:=ma(c,30);
IF(ma10>ma30,1,5);

我只想了解,为何最后不是一直输出5?

6楼
jinzhe 发表于:2013/5/8 11:02:20
if 这个函数会在每根k线上做出判断,而直接:=就是最后根k线计算了
7楼
伍铁木 发表于:2013/5/8 22:56:35

说实话,还是不太明白.

不只是IF函数的问题,在飞弧里,很多条件选股公式都是每根K线做出判断的.而不是最后一根K线来计算的.而飞弧就是序列模式.

如果说序列模式只是计算最后一根K线,那飞弧的所有选股公式岂不是都选不了股了?因为只算最后一根K线啊.中间的K线就没有信号了.

实际情况是飞弧的中间K线都有信号.而飞弧是序列模式(公式可复制到金字塔序列模式里运行),这岂不是矛盾了?

 

8楼
王锋 发表于:2013/5/8 23:03:20
IF BARPOS = 2 THEN
这类的语法你在飞狐上是无法执行的,建议你多看看金字塔的编程手册
9楼
伍铁木 发表于:2013/5/8 23:09:53

飞弧里这个语句IF(ma10>ma30,1,5);是可以运行的

楼上说的

IF BARPOS = 2 THEN

是不能运行,这我知道.

我就是弄不懂"序列模式只是计算最后一根K线",而序列模式运行的飞弧里,很多条件选股公式都是每根K线做出判断的

这不是矛盾吗?

金字塔的编程手册我细看过,就是不理解才在这里问的.

版主的贴深度理解金字塔公式系统的工作机理  ,我也看了

10楼
fly 发表于:2013/5/9 9:53:51

(1)

RUNMODE:1;
cc:BARPOS,linethick0;
b1:if(BARPOS =datacount,1,0),linethick0;//if(BARPOS =datacount,1,0)函数是每根K线都会做判断,都会执行的.--该函数返回值跟BARPOS一样,是序列变量

 

(2)

RUNMODE:1;
cc:BARPOS,linethick0;

n:=0;

IF BARPOS = datacount THEN                 //只在最后一根K线上执行一次控制语句解析
    n:=1;
BB:n;

 

程序对控制语句

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


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