以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  奇怪,怎么代码 到这里就不执行了呢,求助  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8879)

--  作者:ricegene
--  发布时间:2011/11/9 12:03:03
--  奇怪,怎么代码 到这里就不执行了呢,求助

我学习写一个均线原码,发现,过了循环之后,程序就不往下执行了,具体如下

input:N(16,5,50);
VARIABLE:S=0;     //全局变量申明
runmode:=0;

IF NOT(ISLASTBAR) THEN EXIT;
FOR J=1 TO DATACOUNT DO BEGIN
  S:=S+C[J];
 IF J>=N THEN BEGIN
  IF J>N THEN
  S:=S-C[J-N];
  MA1[J]:S/N;        //实现MA(C,N)
 END;
END;

系统执行到这里都很好,完全按我的意图计算出来了均线

可是,为什么再往下的代码,就一个也不执行了呢??比如我下面加一行代码,让它显示

一下系统本身的ma 来跟我计算出来的ma比较,可是就是不显示 PP!!!

如果我下面还要写代码,让系统继续执行呢,求助!!

 

PP:ma(c,N);

[此贴子已经被作者于2011-11-9 12:03:50编辑过]

--  作者:fly
--  发布时间:2011/11/9 13:24:09
--  

IF NOT(ISLASTBAR) THEN EXIT;
这句话限定了只在最后一根K线上执行.

PP在最后一根K线上是有值的.


--  作者:易士
--  发布时间:2011/11/9 14:05:27
--  
这不是意味着:这段代码以后,ma之类的函数失效了吗
--  作者:admin
--  发布时间:2011/11/9 16:41:59
--  

重点是 runmode:=0; 限定在了逐K线模式下工作,楼上的公式应该在序列模式下运行.

你还没有对金字塔的逐K线模式的运行机理了解,参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=8865

[此贴子已经被作者于2011-11-9 16:44:57编辑过]

--  作者:ricegene
--  发布时间:2011/11/10 21:14:56
--  
继续学习