Rss & SiteMap

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

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

标题:莫名其妙的金字塔

1楼
nk1m 发表于:2011/10/22 16:38:09

  if barpos=1 then
   begin
     xiangbao:=0;
     mark:=0;
    end

   Bi:0;
   Shi:=BARPOS;
     if(Shi>3 and mark=0) then
        begin
           j:=0;
           x:=HHVbars(high,Shi);
           y:=llvbars(low,Shi);
           if(x-y>=4 and high[Shi-y]<low[Shi-x]) then
             begin
               Bi[Shi-x]:=high[Shi-x];     
             end

        end

  dd:Bi,CIRCLEDOT;

 

想编个公式,才起个头,结果出现莫名其妙的错误:          

     if(x-y>=4 and high[Shi-y]<low[Shi-x]) then
  这一句完全不起作用,无论x-y>=4 还是x-y<=4,显示的完全一样,让人哭笑不得。

2楼
nk1m 发表于:2011/10/22 16:55:11
工作模式用的是逐K线计算
3楼
阿火 发表于:2011/10/22 21:48:40

莫名其妙的问题,没看说明书吧

 

          x:=HHVbars(high,Shi);
           y:=llvbars(low,Shi);

 

这两句是不能放在 if ....then  语句内部的

 

其次 if.... then 的正确结构是  if (cond1 and cond2) then  if 和 cond1 之间有空格存在的

 

而非:

 

if(x-y>=4 and high[Shi-y]<low[Shi-x]) then

4楼
阿火 发表于:2011/10/22 21:50:42

不过 if(x-y>=4) then 编译的时候可以通过测试,也可以加载运行,只是运行的结算结果错误。

可见,金字塔的语法检测不够严格吧,2.7版以上可能有改进

5楼
nk1m 发表于:2011/10/23 12:24:46
if语句之内不能使用函数,大大限制金字塔公式平台的功能,确实有待改进。MT4,投资家等软件都没有这样的限制,看起来要编制复杂一些的公式,只能用DLL公式了,可惜不会编制,还需要进一步学习,在if语句内用函数,对于金字塔暂时还是幻想。
6楼
王锋 发表于:2011/10/23 12:29:34

只是在逐K线模式下统计函数不能放在IF语句中,并不表示所有函数都不能在IF语句中,如果你非要在IF语句里使用统计函数,那么请使用序列模式.

此外逐K线模式下IF语句的统计函数,只要放在IF之外就可以了,根本不影响程序的编写和功能,只要注意一点就行了

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题8

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


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